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

 

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

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

一、string 转 const char*

string有2个函数:一个是.c_str(),一个是data成员函数。其中c_str()确保返回的字符串以‘\0‘结尾,而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] = '\0';//注意,一定要手动加上 '\0'

四、char*  char[]转string

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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐