char* 与 string类型的相互转换

string 转 char* 

  1.调用 string 提供的函数 c_str()

const char* p;
strcpy(p,a.c_str());
// c_str() 返回一个以 '\0' 结尾的字符数组;

  2.调用 string 提供的函数 data()

string str = "abc";
char* p = str.data();
// data() 仅返回字符串内容,不附带结束符'\0';

  3. 调用 string 提供的函数 copy()

string str = "hello";
char p[40];
str.copy(p,5,0); // 5代表复制字符个数,0代表复制的位置;
*(p + 5) = '\0'; // 手动加上结束符;

 

  

posted @ 2020-05-15 13:35  John_yan15  阅读(2393)  评论(0编辑  收藏  举报