获取辅助硬盘的空间-c++

Get the space of Secondary hard disk - c++

本文关键字:空间 -c++ 硬盘 获取      更新时间:2023-10-16

通过下面的链接,我可以获得硬盘空间。

获取硬盘空间

但如果我连接一个辅助硬盘,它不会显示它的详细信息。

如何循环硬盘的数量并检索它们的空间?

我想把它放在一个循环扇区中。获取硬盘计数并循环硬盘1中的驱动器,然后循环硬盘2中的驱动器。

使用Windows API的GetLogicalDriveStrings函数。

std::vector< std::basic_string<TCHAR> > drives;
TCHAR szBuffer[1024];
::GetLogicalDriveStrings(1024, szBuffer);
TCHAR *pCurrentDrive = szBuffer;
while (*pCurrentDrive)
{
   drives.push_back( pCurrentDrive );
   pCurrentDrive = &pCurrentDrive[_tcslen(pCurrentDrive) + 1];
}

然后对drives向量中的每个元素调用GetDiskFreeSpaceEx

您也可以使用GetLogicalDrives函数,它将驱动器作为位掩码返回。然而,我认为GetLogicalDriveStrings在这种情况下更简单,因为它将驱动器作为字符串返回,您可以直接将其传递给GetDiskFreeSpaceEx

怎么样:

for (char drive = 'a'; drive <= 'z'; drive++)
{
    // Get for amount for `drive`
}

对于那些想知道。。。是的,这很天真,可能很耗时。