我对第446页上的C Programming: A Modern Approach, 2nd Edition的声明感到困惑,
对于二进制流,不需要
fseek
支持其中SEEK_END
的呼叫
那是为什么?这似乎很奇怪。
答案 0 :(得分:1)
查询in the spec,说
与
fseek(file, 0, SEEK_END)
一样,将文件位置指示符设置为文件末尾对于二进制流(由于可能带有尾随null
字符)或任何与状态相关的流都具有未定义的行为不能确保以初始移位状态结束的编码。
所以我想可能是空字符导致了这种现象,尽管我不确定为什么在这里将它们区别对待。