问题补充说明:c++中c_str()用法,越详细越好。
应该这样用:
charc[20];
strings="1234";
strcpy(c,s.c_str());
这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作。
语法:constchar*c_str();
c_str()函轻景情溶六分滑提距数返回一个指向正规C字符串的指针,内容与本string串相同.,这是为了与c语言兼容,在c属语言中没有string类型,故必须通过string类对象的成员函数c_str()把string对象转换成c中的字符串样式。
注意:一定要使用strcpy()函数等来操作猜扒渗方法c_str()返回的指针。
扩来自展资料:关于上述用法种最好不要这样用
const char* c;
std::string s = "1超周余封济岩斗234";
c = s.c_str(); 穗脊
std::cout << c << std::endl; //输出:1234
s = "abcd";
st360问答d::cout << c << std::endl; //输出:abcd
上面如果继续用c指针的此余话,导致的错误将是不可想象的,就如:1234变为abcd。
标签:c++,str,用法