Windows c(++)获取磁盘剩余容量

头文件

#include <windows.h>
#include <wtypes.h>

函数

GetDiskFreeSpaceExA 获取剩余可用空间

/// 得到盘符, 例如: "C:\\"
std::string str_disk_name	= log_info_.path_.substr(0, 3);
DWORD64 qwFreeBytesToCaller = 0;
DWORD64 qwTotalBytes		= 0;
DWORD64 qwFreeBytes			= 0;

///使用GetDiskFreeSpaceEx获取磁盘信息并打印结果
	BOOL bResult				= GetDiskFreeSpaceExA(	str_disk_name.c_str(),
													(PULARGE_INTEGER)&qwFreeBytesToCaller,
													(PULARGE_INTEGER)&qwTotalBytes,
													(PULARGE_INTEGER)&qwFreeBytes) ;

	/// 读取成功
	if (bResult)
	{
		/// 如果还剩下5G空闲空间,则禁止写入日志
		qwFreeBytesToCaller	/= (1024 * 1024 * 1024);
		if (5 >= qwFreeBytesToCaller)
		    ;
			
		//printf("使用GetDiskFreeSpaceEx获取磁盘空间信息\n");
		//printf("可获得的空闲空间(字节): \t%I64d\n", qwFreeBytesToCaller);
		//printf("空闲空间(字节): \t\t%I64d\n", qwFreeBytes);
		//printf("磁盘总容量(字节): \t\t%I64d\n", qwTotalBytes);
	}
	/// 读取失败
	else
		return false;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值