【发布时间】:2014-08-10 22:42:04
【问题描述】:
我需要使用更多指针访问文件,
我知道函数 fread 并且我知道它的作用,但我需要类似的东西:
我必须能够做这样的事情:
一种方法可以用 3 个不同的 FILE 指针打开 3 次同一个文件(但我认为这是一项肮脏的工作)所以我想知道是否有一种方法可以读取具有多指针的文件并决定切换用我想要的指针到下一个字节或后面的字节。
【问题讨论】:
-
使用
ftell获取对流当前位置的引用,并使用fseek稍后返回该位置 -
如果你想通过不同的
FILE对象访问同一个文件,那至少是不可移植的。你为什么要这么做? -
@mafso:它真的不便携吗?我认为它在任何地方都可以使用,至少如果你只阅读的话。
-
@DietrichEpp:它是实现定义的(C11 7.19.3 p.8)。不过,我不知道,对于哪些系统不起作用(以及不起作用的系统有多重要)。
-
我需要它,因为我正在实现 LZ77 算法,所以我需要文件中的更多指针来管理字典的缓冲区