【发布时间】:2018-11-13 20:25:59
【问题描述】:
我正在编写一个程序来将大量数据写入文件,但该文件最终会足够大,以至于我无法搜索它,因为该位置将大于 32 位 计算机。我想寻找至少 2^35 的位置。这样做的正确方法是什么?
编辑: 我正在尝试制作一个跨平台程序,但我目前正在使用 Linux 32 位操作系统。
【问题讨论】:
-
根据您正在开发的平台,将
_FILE_OFFSET_BITS定义为64并使用标准库函数fseeko和ftello可能会解决您的问题。 -
什么操作系统? Windows
SetFilePointer可以进行 64 位查找。 -
什么平台?大多数 64 位操作系统本机支持大于 2GB 的文件。
-
fseek()不限于int大小,而是long。你系统上的LONG_MAX是什么?