Qt中获得磁盘容量和剩余磁盘空间(Windows平台)

本文介绍如何在Qt环境下,利用Windows系统函数GetDiskFreeSpaceEx获取磁盘容量和剩余空间。需要注意#include 'Windows.h'以及考虑C++中long类型长度限制,可能需用到long long类型。
摘要由CSDN通过智能技术生成
#include "Windows.h"
#include <QtGlobal>

int main(int argc, char *argv[]){
	unsigned long long freeBytesToCaller=0,totalBytes=0,freeBytes=0;
	bool b;
	b=GetDiskFreeSpaceEx(QString("D:/").toStdWString().c_str(),(PULARGE_INTEGER)&freeBytesToCaller,
		(PULARGE_INTEGER)&totalBytes,(PULARGE_INTEGER)&freeBytes);
	qDebug()<<(QString("b=%1,freeBytesToCaller=%2,totalBytes=%3,freeBytes=%4,\
				 PULARGE_INTEGER type=%5,freeBytesToCaller type=%6,\
				 sizeof(freeBytesToCaller)=%7.")
				.arg(b).arg(freeBytesToCaller).arg(totalBytes).arg(freeBytes)
				.arg(typeid(PULARGE_INTEGER).name()).arg(typeid(unsigned _int64).name())
				.arg(sizeof(freeBytesToCaller))
		);
}


注意,GetDiskFreeSpaceEx是Windows的系统函数,所以需要#include "Windows.h",该函数的实现在kernel32.lib中。

另外,C++中的long或long int类型的长度是4字节,long l

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值