prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 12.25

Q有什么区别fgetpos/fsetposftell/fseek?
什么是fgetposfsetpos有什么好处?


A ftellfseek使用类型long int来表示文件中的偏移量(位置),因此可能仅限于能够表示在long int中的偏移量。(类型long int不保证能容纳大于 2**31-1 的值,从而将最大偏移量限制在 2 GB)。较新的fgetposfsetpos函数则使用特殊的 typedef,fpos_t来表示偏移量。此 typedef 背后的类型,如果选择得当,可以表示任意大的偏移量,因此fgetposfsetpos可用于处理任意大的文件。fgetposfsetpos还可以记录与多字节流相关的状态。另请参阅问题 1.4

参考:K&R2 第 B1.6 节,第 248 页
ISO 第 7.9.1 节,第 7.9.9.1、7.9.9.3 节
H&S 第 15.5 节,第 252 页


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管