.txt读取中的问题
在读取.txt时遇到一个问题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; }输出结果
1y x z
2yyyy yyyyy
3xxxxxxxxxx
4zzzz zzzzz
over gamme
不过将while(fin)改为while(fin.good())后的结果为:
1y x z
2yyyy yyyyy
3xxxxxxxxxx
over gamme
这是为什么,求高手指教! 谢谢!