feof使用注意
2024-10-19 22:36:38
【feof使用注意】
以下是错误的用法,發生狀況->多讀一次?:
FILE* pf;
while(!feof(pf)){
//fread 讀取
//資料處理
}
feof是發生在fread使用"讀取過檔案"後,已讀到End-of-file位置時,回傳的指標才會是true(檔案結尾),所以上面的寫法在讀完最後一筆後,指標會停留在End-of-file位置前,需要再讀一次到在End-of-file位置後(判斷讀取資料失敗,因為已讀到eof),才會為true,而因為fread讀取失敗,buffer的資料不會改變,所以才會多讀一筆。
改善的方式,如先使用fread讀取,再來判斷feof,當feof判斷為true時就跳離loop:
while(){
//fread讀取
if(feof(pf)) break;
}
参考:http://www.kuqin.com/shuoit/20131027/335960.html
最新文章
- learn shell
- ASP.NET Page对象各事件执行顺序(转)
- 8天掌握EF的Code First开发系列之2 Code First开发系列之领域建模和管理实体关系
- Windows PE 之 MASM32 环境搭建
- C#的浅拷贝和深拷贝
- Posix线程编程指南(1) 线程创建与取消
- 状压DP uvalive 6560
- HDU1013_Digital Roots【大数】【水题】
- 使用 phpMyAdmin无法登录mysql的问题
- java基础程序题
- Entity Framework:如果允许模型处于非法状态,在某些场景下,记得清空DbContext
- Eclipse Oxygen 解决 自动导包的问题
- luogu3687-[ZJOI2017] 仙人掌
- Qt QDateEdit QDateTimeEdit
- hadoop配置项笔记 - streaming
- 转:安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
- windows的消息传递--消息盒子
- debian9部署ownCloud
- 升级java编译器
- [C#学习笔记]lock锁的解释与用法
热门文章
- 如何将开源项目部分代码作为private放在github上?
- JAVA字符串格式化-String.format()的使用 (转载)
- Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- 多个MapReduce作业相互依赖时,使用JobControl进行管理
- 【第一篇】说说MVC+EF easyui dataGrid 动态加载分页表格
- C语言之内存覆盖
- BZOJ 3306 树
- windows xp 安装mysql5.6.17-ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password
- MyEclipse8.5注册码 到2015年
- JVM内存结构之三--持久代