C++文件I/O的问题....
#include <iostream>
#include <string>
#include<fstream>
using namespace std;
int main()
{
string bookName;//书名
long bookid; //书的ID号
ofstream fout;
ifstream fin;
fout.open("text1.txt",ios::binary);
if(fout.fail())
{
cout<<"opening file fail!"<<endl;
return 0;
}
for(int i=0;i<4;i++)
{
cout<<"input data:";
cin>>bookName>>bookid;
fout<<bookName<<bookid;
}
fout.close();//文件写入结束,关闭
fin.open("text1.txt",ios::binary);/打开文件,读取
if(fin.fail())
{
cout<<"opening file fail!"<<endl;
return 0;
}
while(!fin.eof())
{
fin>>bookName>>bookid;
cout<<bookName<<bookid<<endl;//输出到屏幕
}
fin.close();//读取文件结束,关闭
return 0;
}
输入:
input data:c++ 0001
input data:java 0002
input data:c# 0003
input data:jsp 0004
当读取文件并输出到屏幕时为什么与输入有差别呢?while(!fin.eof()) 这句判断文件结束不对?还有执行cout<<bookName<<bookid<<endl输出到屏幕时,也没有换行显示数据!!请大虾指点指点,捆扰好久了。