我们经常会使用C和C++的混合编程,在某些情况下,需要将C++的string,转换成char* 的字符串。下面说两种可行的方法,作为总结。
1. data();
如:
string str="abc";
char*p=(char*)str.data();
2.c_str();
如:
string str="adcd";
char *p=(char*)str.c_str();
暂时就记这两种吧,简单而且差不多够用了。
class Solution { public: void replaceSpace(char *str,int length) { // if(str == NULL) return ; string sd; string res(str);//s()将char* 变成string for(int i=0;i<res.length();i++) { if (res[i] == ‘ ‘) sd += "%20"; else sd += res[i]; } char *ret= (char *)sd.c_str();//将string转换成char * strcpy(str,ret); } };