文章详情
Php文档
Php问答
行业资讯
Php论坛
Php手册
Php博客
游戏榜单
软件榜单
关闭导航
搜索
热搜榜
热门下载
热门标签
关闭搜索
php爱好者
>
php文档
>
读文件尾时使用feof()的一些认识
读文件尾时使用feof()的一些认识
时间:
2010-10-27
来源:
nothing3618
下面一些内容摘录自百度百科:
与EOF的区别
在stdio.h中可以看到如下定义:
#define EOF (-1)
#define _IOEOF 0x0010
#define feof(_stream) ((_stream)->_flag & _IOEOF)
int c;
while(!feof(fp))
{
c = fgetc(fp);
printf("%X\n", c);
}
会发现多输出了一个FF,原因就是在读完最后一个字符后,fp->flag仍然没有被置为_IOEOF,因而feof()仍然没有探测到文件结尾。直到再次调用fgetc()执行读操作,feof()才能探测到文件结尾。这样就多输出了一个-1(即FF)。
正确的写法应该是:
int c;
c = fgetc(fp);
while(!feof(fp))
{
printf("%X\n", c);
c = fgetc(fp);
}
feof()可以用EOF代替吗?不可以。fgetc返回-1时,有两种情况:读到文件结尾或是读取错误。因此我们无法确信文件已经结束, 因为可能是读取错误! 这时我们需要feof()。
这样,基本对feof有一定的了解了。
相关阅读
更多 +
Oracle中months_between函数详解
php教程
2025-06-09
异环艾尔菲德角色技能-艾尔菲德有什么能力
游戏攻略
2025-06-09
异环艾尔菲德角色技能-艾尔菲德有什么能力
游戏攻略
2025-06-09
萤火突击萤火工作室地图玩法详解-战术路线与资源点位
游戏攻略
2025-06-09
萤火突击萤火工作室地图玩法详解-战术路线与资源点位
游戏攻略
2025-06-09
排行榜
更多 +
猎枪行动
飞行射击
下载
导弹袭击
飞行射击
下载
猫猫突围封锁要塞新手打法
飞行射击
下载
4
兔子防卫战
1.24MB ·
92℃
1970-01-01
下载
5
公路出租车
66.79MB ·
93℃
1970-01-01
下载
6
蹦跳篮球
30.58MB ·
95℃
1970-01-01
下载