ftell() 和 fseek() 用长整型表示文件内的偏移 (位置), 因此, 偏移量被限制在 20 亿 (231-1) 以内。
而新的 fgetpos() 和 fsetpos() 函数使用了一个特殊的类型定义 fpos_t 来表示偏移量。
这个类型会适当选择, 因此, fgetpos() 和 fsetpos 可以表示任意大小的文件偏移。
fgetpos() 和 gsetpos() 也可以用来记录多字节流式文件的状态。
附上fgetpos源码
ftell() 和 fseek() 用长整型表示文件内的偏移 (位置), 因此, 偏移量被限制在 20 亿 (231-1) 以内。
而新的 fgetpos() 和 fsetpos() 函数使用了一个特殊的类型定义 fpos_t 来表示偏移量。
这个类型会适当选择, 因此, fgetpos() 和 fsetpos 可以表示任意大小的文件偏移。
fgetpos() 和 gsetpos() 也可以用来记录多字节流式文件的状态。
附上fgetpos源码