栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C++】 string类型、char *类型、char []类型之间的相互转换

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C++】 string类型、char *类型、char []类型之间的相互转换

1、string类型转其它类型 1.1、string类型转char *类型
  • c_str()函数
//c_str()转换得到的是char const *类型
string str = "abcd";
char const *chPtr1 = str.c_str();  //该类型不能修改里面的字符
//可以通过关键字const_cast进行常量强装
char *chPtr2 = const_cast(str.c_str());
//这样chPtr2变量就可以修改里面的字符


1.2、string类型转char [] 类型
  • c_str()函数和 strcpy()函数
string str = "abcd";
char ch[10];
strcpy(ch, str.c_str());
//ch的数据类型是 char [10]
//ch里面的字符可以修改


2、char *类型转其它 2.1、char *类型转string类型
  • 直接赋值
char *ch = "abcd";
string str = ch;
//str是string类型
//str里面的字符可以修改


2.2、char *类型转 char [] 类型
  • strcpy()函数
char *ch1 = "abcd";
char ch2[10];
strcpy(ch2, ch1);  //ch2类型为 char [10],可以修改里面的字符
cout << sizeof(ch2) / sizeof(char) << endl;  //输出为10
cout << strlen(ch2) << endl;  //输出为4,strlen()函数才可以统计字符个数


3、char []类型转其它 3.1、char []类型转string
  • +重载
char ch[] = "abcd";
string str;
for (int i = 0; i < strlen(ch); ++i) {
	str += ch[i];
}
//str是string类型


  • =重载
char ch[] = "abcd";
string str = ch;
//str是string类型


  • string的 构造函数
char ch[] = "abcd";
string str(ch);
//str是string类型


3.2、char []类型转char *类型
  • 直接赋值
char ch1[] = "abcd";
char *ch2 = ch1;
//ch2是char *类型
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/892611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号