gpt4 book ai didi

C - 使用更多指针访问文件

转载 作者:太空宇宙 更新时间:2023-11-04 00:37:34 25 4
gpt4 key购买 nike

我需要使用更多指针访问文件,我知道 fread 函数,也知道它的作用,但我需要这样的东西:
access the file with more pointers

而且我必须能够做这样的事情:
move the pointer foward or back in the file data

一种方法可以使用 3 个不同的 FILE 指针打开同一个文件 3 次(但我认为这是一项肮脏的工作)所以我想知道是否有一种方法可以使用多指针读取文件并决定切换使用我想要的指针到下一个字节或后字节。

最佳答案

选项1:多次打开文件

这完全没问题。它不脏。操作系统和标准库将为您保持一切顺畅(只要您不编写)。

选项2:读取整个文件

这也完全没问题。大多数文件都很小,可以放在内存中,那么您只需使用普通指针指向内存位置即可。

选项3:内存映射整个文件

在类 Unix 系统上,您可以使用 mmap()。这会将整个文件放入您的地址空间,但操作系统通常会推迟实际的 IO,直到您从内存映射中的特定页面读取。这具有选项 1 和 2 的大部分优点,但使用起来稍微复杂一些,您需要为 Windows 编写一个单独的版本,因为 Windows 没有 mmap() (还有别的,忘了叫什么了)。

选项4:来回寻找

您可以使用 ftell() 保存您的位置,然后使用 fseek() 返回。

关于C - 使用更多指针访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com