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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM