1

我正在尝试使用 while 循环扫描文件:

while(feof(src_file) == 0){

}

如果扫描文件中只有一行,则此方法非常有效。否则,我会陷入无限循环。为什么会这样以及如何解决这个问题?

4

2 回答 2

2

http://www.cplusplus.com/reference/cstdio/feof/因为这表示错误已被某些 api 调用清除,更好的检查是 fgetc(src_file) != EOF

于 2013-05-25T19:36:33.087 回答
1

feof()用于帮助确定上次读取错误的原因。如果上次读取错误是由于文件已到达末尾,则返回“true”。

如果没有以前的读取错误,那么调用feof()是没有意义的。

于 2013-05-25T19:35:37.810 回答