检测一个文件是否读到结尾

如何检测一个文件是否读到结尾

  • feof函数可以检测当前文件流上的文件结束标志,判断是否读到了文件结尾。
    int feof(FILE* stream);
    stream: 文件流指针
    返回值: 返回1 检测到文件结束标示, 否则返回0

  • EOF是 End Of File 的缩写,是C语言中标准库中定义的宏,定义为:#define EOF (-1)。
    EOF的值为-1,是 int 类型数据,在32位系统中,可以表示为0xFFFFFFFF;EOF 不是一个字符,也不是文件中实际存在的内容。EOF不但能表示读文件到了结尾这一状态,它还能表示 I/O 操作中的读、写错误(可以用 ferror() 来检测)以及其它一些关联操作的错误状态。

  • fgetc() 或getc() 等函数返回EOF并不一定表示文件结束,当读取文件出错时也会返回EOF,仅凭返回 -1 就认为文件结束是错误的;正因为如此,我们需要feof()来判断文件是否结束,当然用feof()来判断文件结束时也需要判断读取操作是否出错,这时可以用ferror()来判断,当其为真时表示有错误发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值