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

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

好久没写东西啦,发表学术文章一篇,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;