【发布时间】:2012-03-13 10:12:19
【问题描述】:
我使用的是 Windows 7、64 位和 NTFS。 我正在构建一个必须是 32 位的 DLL。我有一个非常简单的例程,我想用 C++ 实现。我正在阅读一个大文件:
unsigned long p;
ifstream source(file);
streampos pp(p);
source.seekg(pp);
对于超过 4GB 的文件,我尝试使用 unsigned long long 但它不起作用。 我究竟做错了什么?我正在使用 GNU GCC,尝试 MSVC Express 2008/2010 会有用吗?
更新:
我的 GCC 似乎有问题。现在,我正在使用 MSVC 测试您的提案,并且似乎可以正常工作。 MSVC 使用 _int64 来表示 streampos/streamoff 对象,稍后我将使用 GCC 进行检查。
【问题讨论】:
标签: c++ large-files unsigned-long-long-int