string::c_str()函数返回一个正规的C字符串指针也就是char* 类型的指针。
因为在c语言中没有字符串类string,所以这个函数是用来与c语言兼容,把string中的字符串转换为c语言中的字符串样式
在使用c_str()的时候要注意
比如如下代码
char* c;
string a="1234";
c=a.c_str();
这样用是不行的,编译器会报错invalid conversion from ‘const char*’ to ‘char*’
我们需要这样使用
const char* c;
string a="1234";
c=a.c_str();
或者
char c[20];
string s="1234";
strcpy(c,s.c_str());