long getFileSize1(const char* strFileName)
{
FILE * fp = fopen(strFileName, "r");
fseek(fp, 0L, SEEK_END);
long size = ftell(fp);
fclose(fp);
return size;
}
long getFileSize2(const char* strFileName)
{
struct _stat info;
_stat(strFileName, &info);
long size = info.st_size;
return size;
}
long getFileSize3(const char* strFileName)
{
FILE* file = fopen(strFileName, "rb");
if (file)
{
long size = filelength(fileno(file));
fclose(file);
return size;
}
return 0;
}
ULONGLONG getFileSize4(const char* strFileName)
{
CFile cfile;
if (cfile.Open(strFileName, CFile::modeRead))
{
ULONGLONG size = cfile.GetLength();
return size;
}
return 0;
}
long getFileSize5(const char* strFileName)
{
HANDLE handle = ::CreateFile(strFileName, FILE_READ_EA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
if (handle != INVALID_HANDLE_VALUE)
{
long size = ::GetFileSize(handle, NULL);
::CloseHandle(handle);
return size;
}
return 0;
}
long getFileSize6(const char* strFileName)
{
std::ifstream in(strFileName);
if (!in.is_open()) return 0;
in.seekg(0, std::ios_base::end);
std::streampos sp = in.tellg();
return sp;
}
相关文章
- 08-04YSQL获取自增ID的四种方法(转发)
- 08-04js实现获取两个日期之间所有日期最简单的方法
- 08-04三种初步简易的方法求解数值问题 of C++
- 08-04通过bilibili_api获取bilibili弹幕+绘制词云的方法!
- 08-04Day15_87_通过反射机制获取某个特定的方法
- 08-04解决C++编译程序后闪退的方法
- 08-04VS2015 C++ 获取 Edit Control 控件的文本内容,以及把获取到的CString类型的内容转换为 int 型
- 08-04.net 获取类型的Type类型的几种方法
- 08-04flink on yarn 用户代码获取keytab本地文件和principal的方法
- 08-04Hutool中DateUtil常用方法(格式化日期Date2Str、Str2Date、获取一天的开始时间和结束时间、日期时间差)