我想分配内存以便在我的 C++ 程序中读取(整个)非常大的文件(15-25 Gb)。我使用off64_t
type 来获取要读取的文件的开始和结束位置,这些位置是使用 function 从我的文件中获取的ftello64
。我现在想在一个名为 size 的变量中获取两者之间的差异,然后将其分配给一个 char 数组。然而,尽管编译成功,我的代码还是不能正常工作。我试过size = (off64_t)(end_of_mem-start_of_mem);
wherestart_of_mem
和end_of_mem
are both off64_t
numbers 但是当我运行我的程序时,输出是
Starting position in memory (start_of_mem):152757
Ending position in memory (end_of_mem):15808475159
Size: -1371546782
我应该使用什么变体类型来做到这一点?提前感谢您的帮助和建议。