
fstream的问题
我要读取一个文件内容是12,12数字和逗号之间可能有空格,也可能没有.那我要怎样才能读到这两个数呢?用seekg跳1字节的话,空格也占字节....用string读的话,可...
我要读取一个文件 内容是 12 , 12 数字和逗号之间可能有空格,也可能没有.
那我要怎样才能读到这两个数呢? 用seekg 跳1字节的话,空格也占字节....用string读的话,可能逗号和数字间没
空格,就读到,12了........ 用char读1字节的话读到的同样可能是空格. 那该怎么办呢? 展开
那我要怎样才能读到这两个数呢? 用seekg 跳1字节的话,空格也占字节....用string读的话,可能逗号和数字间没
空格,就读到,12了........ 用char读1字节的话读到的同样可能是空格. 那该怎么办呢? 展开
展开全部
文件存在或不存在
fstream iofile("ATM.dat",ios::in|ios::out|ios::binary);
总可以通过。
于是 if(!iofile){ } 这段永远不会执行。
iofile.close(); 关闭文件。所以 新建的文件里面什么都没有。
-------------
如果你的目的是 (1)如果文件存在 则 读入文件,(2)文件不存在则建文件输出数据,应当这样写:
fstream iofile("ATM.dat",ios::in|ios::binary); // 打开作为输入文件
if(!iofile) // 输入文件 不存在则进入
{
ofstream outfile("ATM.dat",ios::out|ios::binary); // 建 输出文件
。。。
for( i=0;i<5;i++) outfile.write((char*)&T[i],sizeof(T[i])); // 写输出文件(注意文件名哦)
outfile.close(); // 关
} else
{
。。。
iofile.close();
}
fstream iofile("ATM.dat",ios::in|ios::out|ios::binary);
总可以通过。
于是 if(!iofile){ } 这段永远不会执行。
iofile.close(); 关闭文件。所以 新建的文件里面什么都没有。
-------------
如果你的目的是 (1)如果文件存在 则 读入文件,(2)文件不存在则建文件输出数据,应当这样写:
fstream iofile("ATM.dat",ios::in|ios::binary); // 打开作为输入文件
if(!iofile) // 输入文件 不存在则进入
{
ofstream outfile("ATM.dat",ios::out|ios::binary); // 建 输出文件
。。。
for( i=0;i<5;i++) outfile.write((char*)&T[i],sizeof(T[i])); // 写输出文件(注意文件名哦)
outfile.close(); // 关
} else
{
。。。
iofile.close();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//可以用 get 函数,
char buf[10];
fileStream.get(buf,10,','); //遇到逗号时结束读取
int num1 = atoi(buf); //把字符串转化为数字
//继续向后读取,
while(!isdigit(fileStream.get())); //一直读取,直到读取到数字
fileStream.seekg(-1, ios::cur); // 把读游标向前移动一个字符,以便读取刚刚判断的数字
fileStream.get(buf,10,' '); //遇到空格时结束读取
int num2 = atoi(buf); //把字符串转化为数字
char buf[10];
fileStream.get(buf,10,','); //遇到逗号时结束读取
int num1 = atoi(buf); //把字符串转化为数字
//继续向后读取,
while(!isdigit(fileStream.get())); //一直读取,直到读取到数字
fileStream.seekg(-1, ios::cur); // 把读游标向前移动一个字符,以便读取刚刚判断的数字
fileStream.get(buf,10,' '); //遇到空格时结束读取
int num2 = atoi(buf); //把字符串转化为数字
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询