C++的string与char* char[]相互转换

这俩天忙着调试一块AD芯片,突然想起今天是程序员日,嗯,也不知道写点什么,那就随笔写点这段时间看的C++吧

C++与C语言中最常见的就是字符串了,因此,关于它们自己的转换什么就尤为最重要了

首先C++中的string可以被看成是以字符为元素的一种容器

一、string 转 const char*

string有2个函数:一个是.c_str(),一个是data成员函数。其中c_str()确保返回的字符串以‘‘结尾,而data不能确保

二、string转char*

可以用string的一个成员函数copy实现

string s1 = "sasas"; char *data; int len = s1.length(); data = (char *)malloc((len+1)*sizeof(char)); s1.copy(data,len,0);

三、string转换成char[]

C++中的string可以按脚标访问,所以可以类似与字符数组一样操作,那么string转char[]就可以按下面的方法

string p = "hello"; char a[8]; int i; for( i=0;i<p.length();i++) a[i] = p[i]; a[i] = ;//注意,一定要手动加上

四、char* char[]转string

这种最直接,可以之间赋值给string对象

经验分享 程序员 微信小程序 职场和发展