SEEK_END,二进制流上带有WHENCE

时间:2018-08-30 20:59:03

标签: c binary standards fseek

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

  

对于二进制流,不需要fseek支持其中SEEK_END的呼叫

那是为什么?这似乎很奇怪。

1 个答案:

答案 0 :(得分:1)

查询in the spec,说

  

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

所以我想可能是空字符导致了这种现象,尽管我不确定为什么在这里将它们区别对待。