Windows属性“磁盘上的大小”如何通过qt C++获得这个大小[重复]

v7pvogib  于 2022-12-19  发布在  Windows
关注(0)|答案(1)|浏览(147)
    • 此问题在此处已有答案**:

How do I query "Size on disk" file information?(5个答案)
5天前关闭。
我有一个关于窗口文件夹属性的问题。当我检查属性时,它显示了两个大小,即大小和磁盘大小。所以每当我使用qfileinfo时,它只显示文件夹的大小。但我需要"磁盘大小"。那么,什么是获得磁盘大小的方法。请解释为什么会发生这种情况。
帮我一下。
先谢了。
我想用qt C++ 检查磁盘大小

nx7onnlm

nx7onnlm1#

我怀疑QT是否有直接的功能来实现磁盘上的大小。也许你可以尝试像下面这样使用Windows API(正如你提到的Windows)。
包括fileapi. h,也在未测试的代码下面。确保已编译。

#include <Fileapi.h>

//GET THE FULL FILE NAME
QString filePath = qFileInfo->filePath();

//CONVERT THE FILE NAME TO LPCWSTR
LPCWSTR lpcwstrFilePath = (const wchar_t*) filePath.utf16();

//GET THE SIZE ON DISK
unsigned _int64 sizeOnDisk = GetCompressedFileSizeW(lpcwstrFilePath);

https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getcompressedfilesizew

相关问题