zoukankan      html  css  js  c++  java
  • 理解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来判断二进制文件的结尾。

  • 相关阅读:
    hdu 6049 Sdjpx Is Happy
    L2-012. 关于堆的判断
    L2-010. 排座位
    L2-009. 抢红包
    L2-007. 家庭房产
    L2-008. 最长对称子串
    L2-011. 玩转二叉树
    l2-006 树的遍历
    l2-005
    l1-20 帅到没朋友
  • 原文地址:https://www.cnblogs.com/zhenghao2/p/6612459.html
Copyright © 2011-2022 走看看