SEEK_END与二进制流的WHENCE [重复]

问题描述 投票:-2回答:1

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

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

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

c binary standards fseek
1个回答
1
投票

它说,查找in the spec

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

所以我猜这是导致这种行为的空字符的存在,虽然我不确定为什么他们在这里被区别对待。

© www.soinside.com 2019 - 2024. All rights reserved.