在c++中获取大文件的大小

Get the size of big files in c++

本文关键字:文件 获取 c++      更新时间:2023-10-16

我有一个大约4 GB的大文件,我想获得以字节为单位的正确大小,我尝试过tellg();,但结果不正确,我尝试了很多函数,但都失败了,我的想法是有一个像这样的函数

unsigned long long int GetFileSize(std::string path){
//...code
}

正如Jack在评论中提到的,您可以使用std::filesystem::file_size。

如果C++17不是一个选项,请尝试以下操作:

#include <sys/stat.h>
unsigned long long GetFileSize(std::string path){
struct stat64 file_info;
if (stat64(path.c_str(), &file_info) == 0)
return file_info.st_size;
return 0;
}

在这里使用TDM-GCC 64位和8GB文件正常工作。