【发布时间】:2013-05-17 18:32:03
【问题描述】:
在 32 位系统上,如果以二进制模式打开的文件的当前位置指示器超过 2GB 点,ftell 会返回什么?在 C99 标准中,这是 未定义的行为,因为 ftell 必须返回 long int(最大值为 2**31-1)?
【问题讨论】:
-
如果如您所说,这是未定义的行为,则无法(安全或可靠地)分辨。它可以只返回正确的数字,-1, 0,一个随机数,它可以是段错误,或者它可以发送一个特警队。