获取辅助硬盘的空间-c++
Get the space of Secondary hard disk - c++
通过下面的链接,我可以获得硬盘空间。
获取硬盘空间
但如果我连接一个辅助硬盘,它不会显示它的详细信息。
如何循环硬盘的数量并检索它们的空间?
我想把它放在一个循环扇区中。获取硬盘计数并循环硬盘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`
}
对于那些想知道。。。是的,这很天真,可能很耗时。
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 在命名空间中定义函数还是限定函数
- C++:对不存在的命名空间使用命名空间指令
- 通过继承类使用来自不同命名空间的运算符
- 使用命名空间时出现多个定义错误
- OpenGL相机和相机空间转型的困惑
- CUDA内核和数学函数的显式命名空间
- 打印第二列时的2d字符矢量打印空间
- 嵌套的匿名命名空间
- CMakeLists.txt中的命名空间表示法
- 类是C++中的命名空间吗
- 在命名空间中使用全局命名空间中的函数
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 为什么 openmp 的并行不适用于矢量化色彩空间转换?
- 是否可以将函数导入命名空间,但不能导出它?
- C++ C++类中的命名空间降级