我刚刚使用以下语句读取字符串:
fgets(string, 100, file);
刚刚读入的这个字符串是最后一行。如果我现在调用 feof()
它会返回 TRUE 吗?这与在读取任何行之前在开头调用 feof()
相同吗?
最佳答案
不,不要使用feof()
来检测文件结尾。相反,检查读取失败,例如,如果 fgets()
尝试读取超出文件末尾的内容,则返回 NULL
,而 feof()
将返回 NULL
> 将返回 0
直到某些函数尝试读取文件末尾之后的内容,只有在此之后它才会返回非零值。
关于c - 阅读最后一行后调用 feof() 是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888776/