C++中的c_str()
c_str()函数返回一个指向正规C字符串的指针 const char*,内容就是string本身 C++中的这个函数是为了与c语言兼容,c中无string类型,故必须通过string类对象的成员函数c_str()把string对象转换成c中的字符串样式 #include<iostream> #include<cstring> using namespace std; int main(){ const char* c; string s="1234"; c=s.c_str();//直接在指针上操作 cout<<c<<endl; s="abcd"; cout<<c<<endl; return 0; } 结果:1234 abcd 这样通过c指针进行操作,会是字符串发生改变。 #include<iostream> #include<cstring> using namespace std; int main(){ char *c=new char[20]; string s="1234"; strcpy(c,s.c_str());//通过strcpy()函数 头文件#include<string.h>c里面的一个字符串复制的函数 返回char* cout<<c<<endl; s="abcd"; cout<<c<<endl; return 0; } 结果:1234 1234