姬長信(Redy)

c – ifstream不读取EOF字符


我正在创建一个程序(在C中),它接受一个ASCII文件并从每一行读取一些值,直到它到达文件的末尾.我使用ifstream来读取文件,当我使用ifstream.eof()方法时,我从未遇到过停止问题.但是,这一次,即使它在我的测试用例中找到了eof字符,当我分析其他文件时,它仍然是无限循环,因为它永远不会找到eof字符.这是编码问题,还是我的文件问题?
string line = "";
unsigned long pos = 0;
ifstream curfile(input.c_str());
getline(curfile, line);
int linenumber = 0;
cout

编辑:当我第一次运行循环时,currentfile.good()返回false …我在做什么导致它返回?