关于C语言feof()函数判断文件结尾的问题分析
来源:互联网 发布:念奴娇东方朔知乎 编辑:程序博客网 时间:2024/05/21 14:42
相信很多C语言初学者都遇到过这种情况:
使用
while(!feof(fp)){fscanf(...);//或者//fread(...)}读文件时经常会重复读最后一段字符。
据说当年的X老师对此也很困惑,还曾经对此做过专题分析……
实际上这并没有多么高深莫测,也不是feof()函数的bug,只是我们不了解feof()函数的性质。
feof()的性质
只有当文件位置指针指向文件末尾,再发生读/写操作,然后再调用feof()时,才会得到文件结束的信息。
因此,正确的读取文件方法如下:
char buf[1024];fread(buf, 1024, 1, fp);while (!feof(fp)){//TODO:fread(buf, 1024, 1, fp);}
阅读全文
0 0
- 关于C语言feof()函数判断文件结尾的问题分析
- 判断文件结尾的方法(feof函数和EOF)
- c语言 判断文件结束问题 feof()
- 文件操作函数feof判断是否指向文件的结尾处,结尾即为空字符
- 文件结尾判断feof , EOF
- C语言feof()函数判断文件位置指针到末尾
- C 库函数 feof(FILE*) 判断文件末尾的问题
- fgets与feof 判断文件结尾
- 关于C语言中feof的使用
- C语言中如何判断文件结尾
- 关于feof函数的一点问题
- 从文件读入数据块时用feof(fp)判断文件结尾真的保险吗?
- feof()和EOF的用法—— C中文件结尾的判断
- feof()和EOF的用法—— C中文件结尾的判断
- feof()和EOF的用法—— C中文件结尾的判断
- feof()和EOF的用法—— C中文件结尾的判断
- feof()和EOF的用法—— C中文件结尾的判断
- feof()和EOF的用法—— C中文件结尾的判断
- 解决Android studio 3.0 apt插件问题
- linux 安装库 编译提示-lcrypto 无法链接,缺少 crypto 库
- ./utserver: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file
- lambda与算法模板学习总结
- 查询优化技术概念
- 关于C语言feof()函数判断文件结尾的问题分析
- 杭电ACM OJ 1032 The 3n + 1 problem 数据很弱,但是也需要思考一个方向
- 错误: 编码GBK的不可映射字符
- 前端使用bower+grunt-wiredep自动引入js和css
- 【分布式架构之旅】Redis入门
- 深度学习概论
- 718. Maximum Length of Repeated Subarray
- 搞清楚php-FPM到底是什么?
- Maven(1)–下载与安装