我有一个巨大的二进制文件,它是2148181087字节(> 2gb)
我正在尝试做fopen (file, "r"),但是它失败了
无法打开: xyz文件(值太大而不能存储在数据类型中)
当文件大小> 2gb时,我在手册页读取EOVERFLOW错误。
奇怪的是,我使用了一个与第一个文件2142884400字节(也超过2GB)一样大的不同的输入文件,fopen可以很好地工作。
fopen的文件大小是否有任何截止值,或者是否有其他解决方法?
发布于 2009-11-17 05:27:31
“解决此问题的替代方法”取决于您正在使用的操作系统/库。
对于GNU库,you can use fopen64作为fopen的替代品;它使用64位文件句柄(还有一个宏让fopen使用64位文件句柄)。
对于Windows,您可能需要切换到Win32文件管理API,您可以使用CreateFile。
https://stackoverflow.com/questions/1746751
复制相似问题