c++ string c_str()

来源:互联网 发布:网店数据化分析的内容 编辑:程序博客网 时间:2024/04/30 08:30
char* c;
string s="1234";
c = s.c_str();
1:c_str函数的返回值是const char*的,不能直接赋值给char* ,所以就需要我们进行相应的操作转化(利用strcpy()函数),或用const char *ch试试
2://c最后指向的内容是垃圾,因为s对象被析构,其内容被处理(纠正:s对象的析构是在对指针c完成赋操作之后进行的,故此处并没有错误)
char c[20];
string s="1234";
strcpy(c,s.c_str());
这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作
0 0