c++中char *与string之间的相互转换及原理
1. string转const char* string s = "abc" ; const char * c_s = s . c_str (); 2. const char*转string 直接赋值即可 const char * c_s = "abc" ; string s ( c_s ); 3. string转char* string s = "abc" ; char * c ; const int len = s . length (); c = new char [ len + 1 ]; strcpy ( c , s . c_str ()); 4. char*转string char * c = "abc" ; string s ( c ); 5. const char*转char* const char * cpc = "abc" ; char * pc = new char [ 100 ]; //足够长 strcpy ( pc , c) 语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 注意:一定要使用strcpy()函数 等来操作方法c