![]() |
#2
szwape2013-02-19 00:43
|
txt文件是:
y x z
yyyy yyyyy
xxxxxxxxxx
zzzz zzzzz
读取程序

#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
int main()
{
using namespace std;
ifstream fin;
fin.open("name.txt");
if(!fin.is_open())
{
cerr<<"cannot open"<<endl;
exit(EXIT_FAILURE);
}
string item;
int count=0;
getline(fin,item,'\n');
while(fin)
{
++count;
cout<<count<<item<<endl;
getline(fin,item,'\n');
}
cout<<"over gamme"<<endl;
fin.close();
return 0;
}
输出结果#include <fstream>
#include <string>
#include <cstdlib>
int main()
{
using namespace std;
ifstream fin;
fin.open("name.txt");
if(!fin.is_open())
{
cerr<<"cannot open"<<endl;
exit(EXIT_FAILURE);
}
string item;
int count=0;
getline(fin,item,'\n');
while(fin)
{
++count;
cout<<count<<item<<endl;
getline(fin,item,'\n');
}
cout<<"over gamme"<<endl;
fin.close();
return 0;
}
1y x z
2yyyy yyyyy
3xxxxxxxxxx
4zzzz zzzzz
over gamme
不过将while(fin)改为while(fin.good())后的结果为:
1y x z
2yyyy yyyyy
3xxxxxxxxxx
over gamme
这是为什么,求高手指教! 谢谢!