文件读取结束的判定

目录

1.如何判断文件读取结束

2.怎么判断文件是因为什么结束的

被误解的feof函数


1.如何判断文件读取结束

文本文件可以用fgetc,fgets函数

gertc返回的是EOF或者fgets函数返回的是NULL代表文件读取结束了

二进制文件可以用fread函数

fread函数的返回值是实际读取的个数,如果未读取到,返回的是0,

可以用fread函数返回值是否小于你实际让他读取的个数来判断文件是否结束

2.怎么判断文件是因为什么结束的

文件结束的原因很多,但无外乎两个节点,一个是一直读取直到读完的结束,一个是读取过程发生意外而中断的结束

被误解的feof函数

在此之前

先说一个一直被大家误解的函数feof,很多人利用这个函数的返回值来判断文件是否读取结束。

但是feof实际上是用来判断文件是因为什么而结束的。

判断文件怎么结束可以参考一下方法

feof返回非零代表文件是因为遇到文件末尾结束的

ferro返回非零证明是读取的时候失败的

两个函数的参数都是文件流,直接给文件指针就行了

利用变量ch,fgetc获取读到的字符,直到变量ch得到EOF,然后先用ferror判断是否返回非零,如果返回零还需要再用feof判断

fgetc——》获得EOF——》ferror,文件是否读取时结束——》feof,文件是否遇到末尾结束

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值