小编ATL*_*ATL的帖子

fseek传递负偏移和SEEK_CUR

fseek(..)在一个非常大的文件中运行性能不佳.每次调用fseek函数时,我都需要向后移动文件指针位置100 bytes:

  fseek(fp, -100, SEEK_CUR);
Run Code Online (Sandbox Code Playgroud)

以前,我这样做:

  fseek(fp, (index)*100, SEEK_SET); // which makes basically the same...
Run Code Online (Sandbox Code Playgroud)

我的问题是fseek如何将指针移动到文件中并将文件指针设置在特定位置.

我认为它需要文件指针并将其向后移动,但现在我认为它真正起作用的是

  • 得到当前位置(cp)

  • 添加否定索引(p = idx + cp)

  • 并将文件指针从文件的开头移动到该位置(fseek(fp, p, SEEK_SET))

c posix fseek

5
推荐指数
2
解决办法
9967
查看次数

标签 统计

c ×1

fseek ×1

posix ×1