我有一个巨大的二进制文件,有 2148181087 字节 (> 2gb)
我正在尝试执行 fopen (file, "r")
但失败了
Can not open: xyz file (Value too large to be stored in data type)
我在手册页上读到当文件大小 > 2gb 时收到 EOVERFLOW 错误。
奇怪的是,我使用了一个不同的输入文件,它也“几乎”与第一个文件一样大 2142884400 字节(也 >2gb),fopen
可以正常工作。
fopen
的文件大小是否有限制,或者是否有其他方法可以解决这个问题?
最佳答案
截止值为 2GB,与您的想法相反,不是 2,000,000,000 (2x10003)。
它是 2,147,483,648 (2x10243)。因此,您的第二个有效文件实际上小于 2GB)。
在计算机世界中,2GB 在硬盘驱动器制造商的心目中只有 2,000,000,000,因此他们可以说他们的磁盘比实际大 :-) - 它让他们说他们的磁盘实际上是 2.1GB。
关于c - Fopen 二进制文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1746751/