Visual Studio 2019
项目字符编码:Unicode
#define _CRT_SECURE_NO_WARNINGS #include结果#include //判断磁盘的类型 void putDrivesType(const char* lpRootPathName) { //获取磁盘的类型 UINT uDriverType = GetDriveTypeA(lpRootPathName); switch (uDriverType) { case DRIVE_UNKNOWN:puts("未知的磁盘类型"); break; case DRIVE_NO_ROOT_DIR: puts("路径无效"); break; case DRIVE_REMOVABLE: puts("可移动磁盘"); break; case DRIVE_FIXED: puts("固定磁盘"); break; case DRIVE_REMOTE: puts("网络磁盘"); break; case DRIVE_CDROM: puts("光驱"); break; case DRIVE_RAMDISK: puts("内存映射盘"); break; default: break; } printf("n"); } int main() { DWORD dwSize = MAX_PATH; char szLogicalDrives[MAX_PATH] = { 0 }; //获取逻辑驱动器号字符串 DWORD dwResult = GetLogicalDriveStringsA(dwSize, szLogicalDrives); //处理获取到的结果 if (dwResult > 0 && dwResult <= MAX_PATH) { char* szSingleDrive = szLogicalDrives; //从缓冲区起始地址开始 while (*szSingleDrive) { printf("Drive: %s ", szSingleDrive); //输出单个驱动器的驱动器号 putDrivesType(szSingleDrive); //输出逻辑驱动器类型 // 获取下一个驱动器号起始地址 szSingleDrive += strlen(szSingleDrive) + 1; } } return 0; }



