正被用作輸入的文件是包含一個.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'中讀取的正確方法。 – pmr