【转载】c_str()函数

作者: dopami | 来源:发表于2019-02-15 09:16 被阅读1次

https://blog.csdn.net/wangzhyy/article/details/78586037

语法:

const char *c_str();

c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.

这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。

注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针

比如:最好不要这样:

char* c;

string s="1234";

c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理

应该这样用:

char c[20];

string s="1234";

strcpy(c,s.c_str());

这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作

再举个例子

c_str() 以 char* 形式传回 string 内含字符串

如果一个函数要求char*参数,可以使用c_str()方法:

string s = "Hello World!";

printf("%s", s.c_str()); //输出 "Hello World!"

---------------------

作者:Wangzhyy

来源:CSDN

原文:https://blog.csdn.net/wangzhyy/article/details/78586037

版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

网友评论

    本文标题:【转载】c_str()函数

    本文链接:https://www.haomeiwen.com/subject/hbaueqtx.html