小编Hum*_*man的帖子

混淆== EOF vs feof

我打开了一个文件,在指针的地址找到了流ptr.我试图查看文件是否为空.使用以下内容

if (fgetc(ptr) != EOF)
Run Code Online (Sandbox Code Playgroud)

按预期工作.当文件为空时,不执行该语句.当文件不为空时,不执行该语句.

但是,使用

if (!feof(ptr))
Run Code Online (Sandbox Code Playgroud)

总是执行声明.

为什么会这样?有没有办法使用这个feof功能?

c pointers file feof fgetc

12
推荐指数
3
解决办法
6086
查看次数

标签 统计

c ×1

feof ×1

fgetc ×1

file ×1

pointers ×1