把string转换为char *的三种方法

一、data 
string str = "abc";
char *p = const_cast<char*>(str.data());

二、c_str
string str = "gdfd";
char *p = const_cast<char*>(str.c_str());

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

posted on 2012-12-28 19:52  gorllen  阅读(693)  评论(0)    收藏  举报