我有一个文本文件
0 Po Tom Mr 123AlphabetStreet Netherlands Wulu 123456 D01 Malaysia SmallAdventure 231112
0 Liu Jack Mr 123AlphabetStreet Italy Spain 123456 D02 Afghanistan TriersAdventure 030214
我正在尝试阅读txt文件:Form.txt
,使用getline
将每一行存储到变量foo
这是工作程序
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
fstream afile;
afile.open("Form.txt",ios::in);
string foo;
while (getline(afile,foo,'\n') );
{
cout<<foo
<<endl;
}
}
没有任何东西打印到控制台输出,我期待
0 Po Tom Mr 123AlphabetStreet Netherlands Wulu 123456 D01 Malaysia SmallAdventure 231112
0 Liu Jack Mr 123AlphabetStreet Italy Spain 123456 D02 Afghanistan TriersAdventure 030214
相反,我得到
我的代码出了什么问题?
答案 0 :(得分:3)
在while
循环结束时有一个分号:
while (getline(afile, foo, '\n'));
// ^
这会导致执行提取,但仅在循环结束时foo
被打印。最后一次提取不提取任何foo
为空的原因,因此为空输出。