从CfileDialog获取文件大小
Get File size from CFileDialog
我是Visual Studio C 的新手。我正在使用cfiledialog从用户输入中获取文件名和文件路径。现在,我想使用正在加载过程的进度控制,用户必须等待取决于您的输入文件大小。现在,我使用CfileDialog获得了文件名和文件路径,但我不知道如何获得用户输入文件大小。
我正在使用以下方法,并且总是返回零。
int FileSize(const char * szFileName)
{
struct stat fileStat;
int err = stat(szFileName, &fileStat);
if (0 != err)
return 0;
return fileStat.st_size;
}
如果您有更好的解决方案来获取文件大小。
非常感谢您。
标准的便携式方法是:
long long sz; // int would be to small for many files !
ifstream ifs(test);
if(!ifs)
return 0; // when file couldn't be opened
ifs.seekg(0, ios::end);
sz = ifs.tellg();
return sz;
本机Windows方法是使用GetFileSize()
。
但是,如果您查看不首先打开文件的MFC替代方案,则可以查看此问题。
相关文章:
- C++文本文件的获取线
- 读取某些文件时出现分段错误,似乎与文件大小无关
- 如何在Windows内核中获取文件大小
- 使用 C++ iOS::ate 获取错误的文件大小
- 如何使用文件系统库获取"true"文件大小?(C++17)
- 如何使用C 17获取文件大小
- HttpQueryInfo 获取文件大小
- 从CfileDialog获取文件大小
- 从文件中获取偏移量和大小以存储在地图中
- 使用ifstream::seekg和tellg获取文件大小
- 如何获取文件大小和文件名和文件开始地址?
- 在 C# 中获取十六进制文件大小
- 如何在下载前获取文件大小
- 打开文件并使用fseek获取文件大小-C++
- 在C/C++中获取文件大小、文件扩展名并将其分配到不同名称的新文件夹
- 在windows上用c++获取系统应用程序的文件大小
- 在windows中获取文件大小
- visual获取c++中的文件大小
- C++获取文件大小信息的更快方法
- 如何在linux上获取磁盘上的文件大小