Qt怎么获取文件所在的磁盘空间大小呢?
首先要包含头文件 #include <windows.h>
然后话不多说直接上代码吧~
static inline quint64 getFreeSpace(const QString& fullPath)
{
if (QChar(':') == fullPath[1])
{
const QString disk = QString(fullPath[0]) + QString(":\\");
quint64 total = 0;
quint64 free = 0;
quint64 freeToCaller = 0;
wchar_t diskW[64] = { 0 };
const int size = disk.toWCharArray(diskW);
if (0 < size)
{
if (::GetDiskFreeSpaceExW(diskW, PULARGE_INTEGER(&freeToCaller), PULARGE_INTEGER(&total), PULARGE_INTEGER(&free)))
{
return freeToCaller;
}
}
}
return 0;
}