c/c++语言开发共享C++遍历磁盘驱动器的示例代码

#include <stdio.h>#include <windows.h>typedef struct tagdriver{ // (1)磁盘盘符 wchar_t dis

  #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;    // 定义 磁盘消息结构体    driver dir;    // 遍历磁盘    for (wchar_t d = 'a'; d <= 'z'; d++)    {      // 磁盘消息结构体清0      memset(&dir, 0, sizeof(driver));      unsigned _int64 i64freebytestocaller;      unsigned _int64 i64totalbytes;      unsigned _int64 i64freebytes;      tchar sztemp[3] = { d, ':', '' };      // 获取磁盘类型      uint utype = getdrivetypew(sztemp);      // drive_unknown 无法确定驱动器类型。      // drive_no_root_dir 根路径无效; 例如,指定路径上没有安装卷。      // drive_removable 驱动器有可移动介质; 例如,软盘驱动器,拇指驱动器或闪存卡读卡器。      // drive_fixed 驱动器有固定的媒体; 例如,硬盘驱动器或闪存驱动器。      // drive_remote 该驱动器是远程(网络)驱动器。      // drive_cdrom 该驱动器是一个cd-rom驱动器。      // drive_ramdisk 驱动器是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获取与一个磁盘的组织以及剩余空间容量有关的信息      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, 磁盘类型:%dn", dir.disk, dir.all, dir.free, dir.type);    }  }    int main()  {    getdrivers();    getchar();    return 0;  }

以上就是c++遍历磁盘驱动器的示例代码的详细内容,更多关于c++遍历磁盘驱动器的资料请关注<计算机技术网(www.ctvol.com)!!>其它相关文章!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/596217.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐