欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++遍歷磁盤驅(qū)動器的示例代碼

 更新時間:2021年01月03日 12:21:01   作者:凌冷  
這篇文章主要介紹了C++遍歷磁盤驅(qū)動器的示例代碼,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
#include <stdio.h>
#include <windows.h>

typedef struct tagDRIVER
{
  // (1)磁盤盤符
  wchar_t disk;
  // (2)磁盤總的大小
  double all;
  // (3)磁盤可用空間
  double free;
  // (4)磁盤類型(是光盤、硬盤、還是移動硬盤)
  int type;
}DRIVER;

void GetDrivers()
{
  BOOL fResult;
  // 定義 磁盤消息結(jié)構(gòu)體
  DRIVER dir;
  // 遍歷磁盤
  for (wchar_t d = 'A'; d <= 'Z'; d++)
  {
    // 磁盤消息結(jié)構(gòu)體清0
    memset(&dir, 0, sizeof(DRIVER));
    unsigned _int64 i64FreeBytesToCaller;
    unsigned _int64 i64TotalBytes;
    unsigned _int64 i64FreeBytes;
    TCHAR szTemp[3] = { d, ':', '\0' };
    // 獲取磁盤類型
    UINT uType = GetDriveTypeW(szTemp);
    // DRIVE_UNKNOWN 無法確定驅(qū)動器類型。
    // DRIVE_NO_ROOT_DIR 根路徑無效; 例如,指定路徑上沒有安裝卷。
    // DRIVE_REMOVABLE 驅(qū)動器有可移動介質(zhì); 例如,軟盤驅(qū)動器,拇指驅(qū)動器或閃存卡讀卡器。
    // DRIVE_FIXED 驅(qū)動器有固定的媒體; 例如,硬盤驅(qū)動器或閃存驅(qū)動器。
    // DRIVE_REMOTE 該驅(qū)動器是遠(yuǎn)程(網(wǎng)絡(luò))驅(qū)動器。
    // DRIVE_CDROM 該驅(qū)動器是一個CD-ROM驅(qū)動器。
    // DRIVE_RAMDISK 驅(qū)動器是RAM磁盤。
    switch (uType)
    {
    case DRIVE_FIXED:
    {
      // 硬盤是1
      dir.type = 1;
      break;
    }
    case DRIVE_CDROM:
    {
      // 光盤是2
      dir.type = 2;
      break;
    }
    case DRIVE_REMOTE:
    {
      // 移動硬盤是3
      dir.type = 3;
      break;
    }
    default:
    {
      continue;
    }
    }
    // GetDiskFreeSpaceEx獲取與一個磁盤的組織以及剩余空間容量有關(guān)的信息
    fResult = GetDiskFreeSpaceEx(szTemp, (PULARGE_INTEGER)&i64FreeBytesToCaller, (PULARGE_INTEGER)&i64TotalBytes, (PULARGE_INTEGER)&i64FreeBytes);
    // 盤符
    dir.disk = d;
    if (fResult)
    {
      dir.all = (double)(i64TotalBytes / 1024.0 / 1024 / 1024);
      dir.free = (double)(i64FreeBytesToCaller / 1024.0 / 1024 / 1024);
    }
    else
    {
      dir.all = 0.0;
      dir.free = 0.0;
    }
    printf("%C盤:共%.2fGB, 可用%.2fGB, 磁盤類型:%d\n", dir.disk, dir.all, dir.free, dir.type);
  }
}

int main()
{
  GetDrivers();
  getchar();
  return 0;
}

以上就是C++遍歷磁盤驅(qū)動器的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于C++遍歷磁盤驅(qū)動器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論