1

主要:

ifstream file("text.txt");
string line;
while (file) {
    file>>line;
    cout<<line<<endl;
}

在 text.txt 中:

hello
goodbye

输出:

hello
goodbye
goodbye

为什么最后一行打印两次?

4

1 回答 1

2

重复:当您第一次阅读“再见”时,您不知道您已到达文件末尾并进入下一次迭代。然后读取失败,eof设置位,但打印出 的当前值line,这仍然是“再见”。

于 2012-10-06T05:49:48.003 回答