c_str():生成一个const char*指针,指向以空字符终止的数组。
data():与c_str()类似,但是返回的数组不以空字符终止。
Copy在vs2013里用会出错,有会的人,请写个例子私信我,相互学习学习,先谢谢了;
C_str();
这个数组的数据是临时的,string被重新赋值后,p值就会被改变:
stringstr2 = "和2";
constchar * p = str2.c_str();
str2= "hello";
cout<< p << endl;
如果要保存c_str的字符串,先要保存起来;
stringstr2 = "和2";
constchar * p = str2.c_str();
char* pstr = (char*)malloc((str2.length() + 1)*sizeof(char));
strcpy(pstr,p);
str2= "hello";
cout<< pstr << endl;
free(pstr);
c_str()返回一个客户程序可读不可改的指向字符数组的指针,不需要手动释放或删除这个指针。
String输出 和 转换为 const char * 类型:
1..data();
stringstr = "和";
constchar * p = str.data();
constchar** pstr = &p;
cout<< *pstr << endl;
2..c_str();
stringstr2 = "和2";
constchar * p = str2.c_str();
cout<< p << endl;
char * 转为string;
strings;
char*p = "asdasd";
s= p;
cout<< s;