首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么获取大于4G的文件大小

2012-03-16 
如何获取大于4G的文件大小本人是初学C++,请各位帮忙。用FindFirstFile来获取文件大小,在MSDN上看到用(nFile

如何获取大于4G的文件大小
本人是初学C++,请各位帮忙。
用FindFirstFile来获取文件大小,在MSDN上看到用(nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow来获取文件大小,但编译的时候出现溢出警告,有什么办法能正确获取超大文件的大小呢,小于4G的就不用说了。

[解决办法]
分割读取,然后在归并
[解决办法]
用C标准库函数即可。

C/C++ code
FILE *fp;fpos_t pos;fp = fopen(...);fseek(fp, 0, SEEK_END);fgetpos(fp, &pos);
[解决办法]
什么溢出警告,是不是int 32位溢出的警告,用64位整数, __INT64.
[解决办法]
__INT64 RealSize = ((__INT64)nFileSizeHigh * (MAXDWORD+1)) + (__INT64)nFileSizeLow;

热点排行