ftello
/fseeko
和fgetpos
/fsetpos
有什么区别?两者似乎都是文件指针获取/设置函数,这些函数使用不透明的偏移类型,有时允许64位偏移。
它们是在不同的平台上支持还是以不同的标准支持?它所使用的偏移量的类型是否更灵活?
顺便说一句,我知道fgetpos/fsetpos和ftell/ftell之间的区别是什么?,但这是而不是。这个问题是关于ftello/fseeko的,这个问题的答案不适用于ftello/fseeko。
发布于 2012-08-25 04:33:39
有关差异的详细信息,请参见便携式定位。节选:
在某些系统中,文本流确实不同于二进制流,因此不可能将文本流的文件位置表示为文件开始时的字符计数。例如,某些系统上的文件位置必须同时编码文件中的记录偏移量和记录中的字符偏移量。 因此,如果希望程序可移植到这些系统,则必须遵守某些规则:
简而言之: fgetpos/fsetpos使用更灵活的结构来存储关于文件位置状态的附加元数据,从而支持更大的可移植性(理论上)。
https://stackoverflow.com/questions/12119132
复制相似问题