EOF 和 feof()

问题:今天遇到一个问题,程序在读了文件中就没有退出来,便gdb调试。后来才发现是是没有找到文件结束符。


资源:feof() 有两个返回值,如果是遇到文件结束符,返回的是1.否者是0.

            在C的标准库中,EOF(end of file)也是表示文件结束符。但是以EOF作为文件结束符的必须是文本文件。文本文件都是字符的ASCII存放。ASCII值的范围是0-255,不会出现-1,所以可以用-1在表示文件结束。

           但是在如果以二进制的的形式存放文件,就会出现-1.这时就不能用EOF作为文件的结束符。

           为了解决这个问题,C提供了一个feof()函数,用来判断文件是否结束。

          while(!feof(fp)) 

          {

           file.push_back( fgetc(fp) );

           }

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值