所以在我读完C ++程序的文本文件后,当我使用getline读取文件的最后一行时,它会进入无限循环。现在我知道在堆栈溢出之前已经问过这个,但我的问题是我不应该使用.eof,或者与ifstream库有关的任何东西,我检查过的所有答案都包含了。
如何在没有使用.eof或<中的任何内容的情况下向我的程序发出已到达文件末尾的信号。 ifstream>这样我可以防止这种无限循环?
答案 0 :(得分:2)
您只需在布尔上下文中检查流,该上下文将确定流是否处于故障状态。由于getline
会返回流本身,因此您只需检查其结果即可。
while (std::getline(FileStream, Line)) {
// process line
}