您的位置:首页 > 编程语言 > C语言/C++

c++学习之获取系统盘符

2016-05-22 00:00 881 查看
在c++中字符串的结束标记是“\0”。在应用程序中,有时候一个字符串中包含了多个子串,为了获取字符串中的各个字串信息,需要解析字符串。

利用GetLogicalDriveStrings函数获取系统盘符时就遇到这样的情况,函数返回的盘符信息为“C:\\0D:\\0E:\\0F:\\0G:\\0”,为了获取每一个系统盘符,需要对字符串“C:\\0D:\\0E:\\0F:\\0G:\\0”进行分解。

#include<stdio.h>
#include<iostream.h>
#include<string.h>
#include<windows.h>

int main(int argc,char* argv[])
{
DWORD dwLen = GetLogicalDriveStrings(0,NULL);//获取系统盘符字符串长度
char *pszDriver = new char[dwLen];//构建字符数组
GetLogicalDriveStrings(dwLen,pszDriver);//获取系统盘符字符串
char* pDriver = pszDriver;
while(*pDriver != '\0')
{
cout<<pDriver<<endl;
pDriver += strlen(pDriver) + 1;//定位到下一个字符串,加1是为了跳过\0字符
}
delete [] pszDriver;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: