#include<stdio.h>
#include<windows.h>
int main()
{
char str[100];
int szAllDriveStrings=GetLogicalDriveStrings(0,NULL); //获取电脑所有盘符的长度
char *pDriveStrings=new CHAR[szAllDriveStrings+sizeof((" "))]; //建立缓冲区,准备存放所有的盘符
GetLogicalDriveStrings(szAllDriveStrings,pDriveStrings); //把所有的盘符放到缓冲区pDriveStrings里
int szDriveString=::strlen(pDriveStrings); //获取一个磁盘的字数,每个名字都用一个NULL字符分隔,例如l>A:\<null>C:\<null>
printf(itoa(szDriveString,str,10)); //strlen 遇到第一个字符串结束符'\0'为止,例如A:\<null>C:\<null><nul,所以输出3;
printf("\r\n");
while(szDriveString>0) //判断计数器是否>0,不大于0就说明无磁盘驱动器
{
printf(pDriveStrings); //输出盘符
printf("\r\n");
pDriveStrings+=szDriveString+1; //上一个盘符 + 一个磁盘计数器(3) + 一个'\0'(1) = 等于下一个磁盘的地址
szDriveString=::strlen(pDriveStrings);
}
return 0;
}
C/C++ 获取当前所有逻辑驱动器的根驱动器路径
最新推荐文章于 2023-05-02 22:39:43 发布