如何解决文件末尾的getline引起的无限循环(c ++)

时间:2016-01-20 05:20:55

标签: c++ ifstream getline

所以在我读完C ++程序的文本文件后,当我使用getline读取文件的最后一行时,它会进入无限循环。现在我知道在堆栈溢出之前已经问过这个,但我的问题是我不应该使用.eof,或者与ifstream库有关的任何东西,我检查过的所有答案都包含了。

如何在没有使用.eof或<中的任何内容的情况下向我的程序发出已到达文件末尾的信号。 ifstream>这样我可以防止这种无限循环?

1 个答案:

答案 0 :(得分:2)

您只需在布尔上下文中检查流,该上下文将确定流是否处于故障状态。由于getline会返回流本身,因此您只需检查其结果即可。

while (std::getline(FileStream, Line)) {
    // process line
}