【问题标题】:SEEK_END with WHENCE on binary stream [duplicate]二进制流上带有 WHENCE 的 SEEK_END [重复]
【发布时间】:2018-08-30 20:59:02
【问题描述】:

我对来自第 446 页上的 C Programming: A Modern Approach, 2nd Edition 的声明感到困惑,

对于二进制流,fseek 不需要支持 where 为 SEEK_END 的调用

这是为什么呢?这似乎是一个奇怪的规定。

【问题讨论】:

    标签: c binary standards fseek


    【解决方案1】:

    查找in the spec,上面写着

    将文件位置指示器设置为文件结尾,与fseek(file, 0, SEEK_END) 一样,对于二进制流(因为可能尾随null 字符)或任何具有不依赖于状态的编码的流具有未定义的行为确保在初始移位状态结束。

    所以我猜是空字符的存在导致了这种行为,尽管我不确定为什么在这里对它们进行不同的处理。

    【讨论】:

      猜你喜欢
      • 2014-01-29
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      相关资源
      最近更新 更多