c++学习之获取系统盘符
2016-05-22 00:00
881 查看
在c++中字符串的结束标记是“\0”。在应用程序中,有时候一个字符串中包含了多个子串,为了获取字符串中的各个字串信息,需要解析字符串。
利用GetLogicalDriveStrings函数获取系统盘符时就遇到这样的情况,函数返回的盘符信息为“C:\\0D:\\0E:\\0F:\\0G:\\0”,为了获取每一个系统盘符,需要对字符串“C:\\0D:\\0E:\\0F:\\0G:\\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; }
相关文章推荐
- c++学习之获取目录下的文件列表
- c++入门学习之输出系统日期和时间
- c++ c超简单的求公约数
- C++左右值及引用类型关系
- C++函数模板参数推断
- C++ 服务端 性能优化
- VS2010 MFC C++ 弹出窗口
- leetcode #20 in cpp
- 大数的运算
- c语言sscanf使用正则表达式
- c++实验6-数组操作
- 带你玩转Visual Studio——性能分析与优化
- 用C/C++实现一个日期类,重载运算符=,==,+,-,++,--,>,>=,<,<=等
- vs2010 c++ CString to long
- 彻底搞定C语言指针详解
- C++总结:C++中的const和constexpr
- 1010. 一元多项式求导 (25)
- c语言实例之数列排序
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- C++的初始化列表(Initilization List)