【发布时间】:2009-11-17 05:17:05
【问题描述】:
我有一个巨大的二进制文件,大小为 2148181087 字节 (> 2gb)
我正在尝试做fopen (file, "r"),但失败了
无法打开:xyz 文件(值太 大要存储在数据类型中)
当文件大小 > 2gb 时,我在手册页上看到 EOVERFLOW 错误。
奇怪的是,我使用了一个不同的输入文件,它也“几乎”和第一个文件一样大 2142884400 字节(也 >2gb),fopen 可以正常工作。
fopen 的文件大小是否有任何限制,或者有没有其他方法可以解决这个问题?
【问题讨论】:
-
需要注意的是,为了便于移植,二进制文件应该使用“rb”。使用“r”读取二进制文件至少在 Windows 上会失败。
标签: c memory-management fopen