gpt4 book ai didi

c++ - 将可用空间转换为百分比 Windows C++

转载 作者:行者123 更新时间:2023-11-28 06:11:56 25 4
gpt4 key购买 nike

我需要在驱动器中找到可用空间,我有以下代码,但不知道如何将其转换为百分比,

 QString drive = "C:/";
LPCTSTR lpDirectoryName = (const wchar_t*)drive.utf16();
ULARGE_INTEGER lpFreeBytesAvailable;
ULARGE_INTEGER lpTotalNumberOfBytes;
ULARGE_INTEGER lpTotalNumberOfFreeBytes;
BOOL val = GetDiskFreeSpaceEx(lpDirectoryName,&lpFreeBytesAvailable,&lpTotalNumberOfBytes,&lpTotalNumberOfFreeBytes);

谁能帮我解决这个问题?

提前致谢,哈里斯

最佳答案

考虑到用户配额(推荐),您应该执行以下操作:

double percent_free = 100.0 *(double)lpFreeBytesAvailable.QuadPart / (double)lpTotalNumberOfBytes.QuadPart

如果用户配额被禁用(大多数系统),这仍然有效,因为整个驱动器都被使用了。

请注意,您的代码只能在 Unicode 版本中编译。最好写成:

BOOL val =  GetDiskFreeSpaceEx(_T("C:/"),&lpFreeBytesAvailable,&lpTotalNumberOfBytes,&lpTotalNumberOfFreeBytes);

关于c++ - 将可用空间转换为百分比 Windows C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089998/

25 4 0
文章推荐: css - 当我点击我的保存按钮时,我的整个表单向下移动了几个像素,我想避免这种情况
文章推荐: c++ - if 语句中的 SFML getPosition
文章推荐: html - HTML 中真正无边界的