码迷,mamicode.com
首页 > 其他好文 > 详细

理解feof与EOF

时间:2017-03-24 17:36:56      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:cst   没有   文件   其他   定义   tar   使用   nbsp   判断   

feof(feof msdn)

feof用于判断文件结尾。头文件<cstdio>。使用方法是feof(fp),fp为指向需要判断的文件的指针。如果不到文件结尾,返回0值;如果是文件结尾,返回非0.

使用feof判断文件结尾一定要非常注意以下一点:

假设文件包含10字节,并且你读取了十字节,调用feof函数,函数返回值均为0,这是因为尽管文件指针这时已经指向文件尾了,但是你没有试图越过文件尾读取数据,只有当你尝试了读取第十一个字节时,调用feof,函数才会返回0.

因此,使用feof常用的逻辑结构是先读在判断,如果先判断在读取,就会发生异常。

 

EOF(EOF c++ reference) 

c++ reference对其的讲解是:

“EOF是一个整数类型的宏定义,扩展为负数常量表达式(通常为-1)。

它被头文件<cstdio>中的好几个函数作为返回值使用,来表明已经到达文件尾或者示意一些其他的错误条件

它也被作为一个值来表示无效的字符。

在C++中,这个宏定义为char_traits<char>::eof().”

 

feof与EOF异同

具体参看 feof与EOF的用法

EOF通常用来判断文本文件的结尾,因为EOF的值为-1,ASCII都是字符型,不可能出现-1的情况。而在二进制文件中,信息以数值存放,使用EOF就可能会异常。

因此,通常使用feof来判断二进制文件的结尾。

 

理解feof与EOF

标签:cst   没有   文件   其他   定义   tar   使用   nbsp   判断   

原文地址:http://www.cnblogs.com/zhenghao2/p/6612459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!