一 概念
char* 字符指针,使用时需先申请空间,使用完后要记得释放;
char[] 字符数组,会自动分配空间,不需手动申请和释放;
string 由C++提供的字符串类,封装了字符串操作,比C语言的char*操作起来更安全;
1:对于C风格的字符串比如char*,char str[],转换为 string
char * 和char str[]类型可以直接转换为string 类型;
即,在char * chstr,
char arstr[]
string str=chstr;或者是string str=arstr;可以直接进行赋值。
2:对于string 转换为char *
string提供一个方法可以直接返回字符串的首指针地址即:string.c_str();
比如:string str="Hi Cpp";转换为char * 类型;
const char * mystr=str.c_str(); 注意要加上const.
例外有个方法有点浪费内存:
string str="woshi";
char * pstr=new char [str.length()+1];
strcat(pstr,str);