c++学习之获取系统盘符
c++学习之获取系统盘符
指尖残雪 发表于2年前
c++学习之获取系统盘符
  • 发表于 2年前
  • 阅读 1
  • 收藏 0
  • 点赞 2
  • 评论 0

在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;
}


共有 人打赏支持
粉丝 8
博文 73
码字总数 0
×
指尖残雪
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: