当前位置:  开发笔记 > 编程语言 > 正文

使用c ++ stl读取大于4GB的文件

如何解决《使用c++stl读取大于4GB的文件》经验,为你挑选了2个好方法。

几个星期前,我使用std :: ifstream读取一些文件,并且在打开时立即失败,因为文件大于4GB.当时我无法找到一个合适的答案,为什么它限于32位文件大小,所以我使用本机OS API编写了自己的.

那么,我的问题是:有没有办法使用std :: ifstream/std :: ostream处理大小超过4GB的文件(IE:标准c ++)

编辑:使用VC 9编译器(Visual Studio 2008)中的STL实现.EDIT2:当然必须有标准方法来支持大于4GB的文件大小.



1> Eugene Yokot..:

显然,这取决于off_t图书馆的实施方式.

#include 
__int64_t temp=std::numeric_limits::max();

为您提供当前最大值.

STLport支持更大的文件.



2> KeithB..:

几年前我在Linux上使用gcc遇到了这个问题.操作系统支持大文件,C库(fopen等)支持它,但C++标准库没有.我发现我必须使用正确的编译器标志重新编译C++标准库.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有