在windows中获取文件大小
Get size of file in windows
我找到了这个函数GetFileSizeEx(),它返回PLARGE_INTEGER中由结构联合形成的文件大小。
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
} ;
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER, *PLARGE_INTEGER;
这和我称之为结构的结构是一样的吗?我如何计算它返回的文件大小以及它可以处理多大的信息?
你可能误解了什么是union
。通过
LARGE_INTEGER len_li;
GetFileSizeEx (hFile, &len_li);
int64 len = (len_li.u.HighPart << 32) | len_li.u.LowPart;
或者,您可以使用现代编译器直接访问64位表示:
LARGE_INTEGER len_li;
GetFileSizeEx (hFile, &len_li);
LONGLONG len_ll = len_li.QuadPart;
no联合不是结构体的结构体。
我建议你阅读下面的问答:C语言中结构体和联合体的区别
希望这有助于澄清:)
相关文章:
- 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上获取磁盘上的文件大小