理解feof与EOF
2024-09-04 01:18:45
feof(feof msdn)
feof用于判断文件结尾。头文件<cstdio>。使用方法是feof(fp),fp为指向需要判断的文件的指针。如果不到文件结尾,返回0值;如果是文件结尾,返回非0.
使用feof判断文件结尾一定要非常注意以下一点:
假设文件包含10字节,并且你读取了十字节,调用feof函数,函数返回值均为0,这是因为尽管文件指针这时已经指向文件尾了,但是你没有试图越过文件尾读取数据,只有当你尝试了读取第十一个字节时,调用feof,函数才会返回0.
因此,使用feof常用的逻辑结构是先读在判断,如果先判断在读取,就会发生异常。
c++ reference对其的讲解是:
“EOF是一个整数类型的宏定义,扩展为负数常量表达式(通常为-1)。
它被头文件<cstdio>中的好几个函数作为返回值使用,来表明已经到达文件尾或者示意一些其他的错误条件。
它也被作为一个值来表示无效的字符。
在C++中,这个宏定义为char_traits<char>::eof()
.”
feof与EOF异同
具体参看feof与EOF的用法
EOF通常用来判断文本文件的结尾,因为EOF的值为-1,ASCII都是字符型,不可能出现-1的情况。而在二进制文件中,信息以数值存放,使用EOF就可能会异常。
因此,通常使用feof来判断二进制文件的结尾。
最新文章
- 搭建个人wordpress博客(小白教程)
- Linux监控工具介绍系列&mdash;&mdash;smem
- 解决:笔记本安装mint18时,安装界面显示不全
- HTTP缓存&;代理
- OutputCache概念学习
- 配置jsp开发环境
- 函数调用方式__stdcall、__cdel
- SQL Povit
- PowerShell连接中国Azure
- freeswitch编译
- wpf仿QQ之窗体翻转
- Google翻译
- USACO comehome Dijkstra
- utf8 和 UTF-8 在使用中的差别
- awesome-deep-learning
- ES5规范之Object增强
- svg绘制一个简单地饼图
- Booth乘法
- IDEA设置换行符为Unix编码格式,设置编码统一为UTF-8,自动生成serialVersionUID
- Latex 算法过长 分页显示方法