首页 > 代码库 > 理解feof与EOF
理解feof与EOF
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。