【发布时间】:2014-10-17 03:36:15
【问题描述】:
我希望比较二进制文件中特定位置的值(例如,索引 n x i 中的值,其中 i = 0,1,2,3... 并且 n = 任何数字,例如 10)。 我想看看该值是否等于另一个值,例如“m”。该值在文件中的位置始终仅在 n x i 中。
我可以想到三种方法:
我维护了一个存储 n x i 值的临时变量,我直接使用 fseek 转到该索引并查看它是否等于 m。
我对文件中 m 的值进行 fseek。
我使用 fseek 在位置 0、n、2n、3n 等中搜索 m 的值。
我不知道这些操作中的每一个是如何工作的,但是就所占用的空间和时间而言,其中哪一个是最有效的?
编辑: 这个过程是一个更大的过程的一部分,它有更多的文件,因此时间很重要。 如果除了使用 fseek 还有其他方法,请告诉。
任何帮助表示赞赏。谢谢!
【问题讨论】:
-
不清楚您要做什么以及数据的格式。这是某种搜索吗?
-
是的。我有一个名为 minkey 的值,我想在文件中搜索具有该值的位置并从中读取接下来的 4 个值。
-
顺便问一下,为什么我的帖子被否决了?我没有太多使用此网站的经验,所以请告诉我,以便我在问其他问题时可以处理它。
-
我不知道为什么这被否决了。也许是因为不清楚您要做什么。
标签: c binaryfiles fseek