string的c_str和data()的运用,转为const char *

来源:互联网 发布:淘宝装修网站 编辑:程序博客网 时间:2024/04/29 18:51

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;


0 0
原创粉丝点击