c/c++语言开发共享常见的误解:文件末尾有一个EOF字符

我正在阅读“卡特的PC汇编语言”,我在第32页的脚注中看到了这句话让我很困惑!
如果我们假设文件末尾可能没有EOF(正如书中所说)是正确的陈述,那么我们如何才能找出文件末尾的位置?
它还产生了另一个问题:fseek是否使用EOF在文件中来回传递?

    PC => ^ Z:EOF

    在旧版PC天中,ctrl-Z是EOF文件中的信号。

    在UNIX和其他现代系统下:在读取stat.st_size后面,发出EOF信号

    来自https://www.drpaulcarter.com/cs/common-c-errors.php :

    这个价值是多少? EOF对学生的一个常见误解是文件最后有一个特殊的EOF字符。 文件末尾没有存储特殊字符。 EOF是函数返回的整数错误代码。

    好吧, EOF不存储在文件的末尾,而不是charEOF是一条错误消息,当没有更多数据要读取时,读取函数会返回。 这就是getchar返回int的原因 – 它可能返回一个转换为intchar ,或者返回int EOF (它不是有效的char ,所以如果你得到它,你可以确定你传递了文件的结尾)。

    EOF未存储在文件中。 当没有更多数据要读取或发生输入错误时,OS会返回EOF(通常定义为-1)。 所以一旦你到达文件的末尾,你必须点击EOF。

    我对你书中的陈述的猜测是,它意味着"EOF is not necessarily be at the end of file but also possible to have it somewhere in the middle of a file". 这对预期的输入错误是正确的。

    在C代码的上下文中, EOF仅表示没有更多可用于给定输入流的数据。 对应于文件本身中的特殊EOF字符是否是底层文件或I / O系统的函数。

      以上就是c/c++开发分享常见的误解:文件末尾有一个EOF字符相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562388.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐