【发布时间】:2014-04-17 04:11:45
【问题描述】:
用作输入的文件是一个 .txt 文件,其中包含:
Line 1
Line 2
Line 3
Line 4
Line 5
它正在我的代码的第 3 行打开。然而while循环永远不会终止,不断向控制台打印“Pass”,那么为什么在第5行文本之后没有找到infile.eof()?
int main(int argc, char** argv) {
ifstream infile;
infile.open("TEST.txt", ios::in);
if(infile.is_open()){
while(!infile.eof()){
cout << "Pass" << '\n';
}
}
else{
cout <<"Fail";
}
}
【问题讨论】:
-
即使您会阅读某些内容,检查
eof或bad也不是阅读ifstream的正确方法。
标签: c++ loops if-statement while-loop