char*,const char*和string的相互转换

时间:2021-04-27 15:19:26

好久没写东西啦,发表学术文章一篇,hiahia~

近日和小佳子编程时遇到很多转换问题,很麻烦,在网上查了很多资料。

为了以后查找方便,特此总结如下。

如果有不对的地方或者有更简单的方法,请指出~~

1. string转const char*

string s = "abc";

const char* c_s = s.c_str();

2. const char*转string

直接赋值即可

const char* c_s = "abc";

string s(c_s);

3. string转char*

string s = "abc";

char* c;

const int len = s.length();

c = new char[len+1];

strcpy(c,s.c_str());

4. char*转string

char* c = "abc";

string s(c);

5. const char*转char*

const char* cpc = "abc";

char* pc = new char[100];//足够长

strcpy(pc,cpc);

6. char*转const char*

直接赋值即可

char* pc = "abc";

const char* cpc = pc;