c - 阅读最后一行后调用 feof() 是否有效?

标签 c

我刚刚使用以下语句读取字符串:

fgets(string, 100, file);

刚刚读入的这个字符串是最后一行。如果我现在调用 feof() 它会返回 TRUE 吗?这与在读取任何行之前在开头调用 feof() 相同吗?

最佳答案

不,不要使用feof()来检测文件结尾。相反,检查读取失败,例如,如果 fgets() 尝试读取超出文件末尾的内容,则返回 NULL,而 feof() 将返回 NULL > 将返回 0 直到某些函数尝试读取文件末尾之后的内容,只有在此之后它才会返回非零值。

关于c - 阅读最后一行后调用 feof() 是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888776/

相关文章:

c - 对未知数量的变量使用 sscanf

c - 将天数添加到日期中

python - 在 C 中使用 scrapy 嵌入 Python 时出现段错误

c - 缓冲区溢出错误和 Double 数据类型错误

c - 遍历数组以检查条件

c - 如何从终端向 Mac 上编译的 C 程序提供输入

Clock_Gettime() 抖动?

c++ - 为什么变量的打印地址会在每次执行时打印随机值,即使它是 C 中的逻辑地址?

c++ - 我怎样才能找到从a[x][y]到任何a[v][w]的最短路径?

c - 伪代码中的高斯消去法