Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C fgetpos/fsetpos是否比fseek快?_C_Fseek_Fgetpos - Fatal编程技术网

C fgetpos/fsetpos是否比fseek快?

C fgetpos/fsetpos是否比fseek快?,c,fseek,fgetpos,C,Fseek,Fgetpos,我知道fgetpos/fsetpos用于返回文件位置 但是,如果我首先使用fseek访问该位置,那么使用fgetpos/fsetpos稍后返回是否更有效,还是再次使用相同的fseek fgetpos/fsetpos是否比fseek快 对于常规文件定位,fseek()/ftell()仅限于文件大小约为LONG_MAXfsetpos()/fgetpos()用于处理文件系统的文件大小 对于大文件,fseek()/ftell()不是选项 在编码C99之后的代码时,健壮代码使用fsetpos()/fget

我知道fgetpos/fsetpos用于返回文件位置

但是,如果我首先使用fseek访问该位置,那么使用fgetpos/fsetpos稍后返回是否更有效,还是再次使用相同的fseek

fgetpos/fsetpos是否比fseek快

对于常规文件定位,
fseek()/ftell()
仅限于文件大小约为
LONG_MAX
fsetpos()/fgetpos()
用于处理文件系统的文件大小

对于大文件,
fseek()/ftell()
不是选项


在编码C99之后的代码时,健壮代码使用
fsetpos()/fgetpos()
来代替使用更有限的
fseek()/ftell()

在哪个系统上可能不存在的小优化?我的猜测是,在大多数或所有实现这些功能的系统上,差异(如果有的话)可以忽略不计。但要确定,你需要实际测量。或者可以阅读源代码,当它可用时。我在Windows上,但groupmate在Unix上,所以我在寻找一些通用的东西。