让我们看看这个程序:
ifstream filein("hey.txt");
if(filein.eof()){
cout<<"END"<<endl;
}
这里“hey.txt”是空的。所以这里的 if 条件被认为应该是真的 但它不是
尽管文件为空,为什么 eof 不返回 true?
如果我在
if
之前添加了这个 eof 返回 true 虽然 arr
仍然是空的并且文件仍然是空的所以两者都没有改变char arr[100];
filein.getline(arr,99);
最佳答案
您可以使用 std::ifstream::peek()
来检查“逻辑文件结尾”。
关于C++:.eof 在一个空文件上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12134242/