C/C++ 获取当前所有逻辑驱动器的根驱动器路径

来源:互联网 发布:javascript弹出输入框 编辑:程序博客网 时间:2024/05/20 07:54
#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;}