c_str()的用法详细解析

 更新时间:2013年09月10日 09:29:59   作者:  
c_str()就是把string类对象转换成和c兼容的char *类型。这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式

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

c_str()就是把string类对象转换成和c兼容的char *类型。
这是为了与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!"

相关文章

  • C++/Qt遍历多维数组的3种方式示例

    C++/Qt遍历多维数组的3种方式示例

    一维数组对于存储和处理一组数据很有用,但有时候,有必要使用多维数组,下面这篇文章主要给大家介绍了关于C++/Qt遍历多维数组的3种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • C语言栈顺序结构实现代码

    C语言栈顺序结构实现代码

    一个能够自动扩容的顺序结构的栈 ArrStack 实例 (GCC编译),有需要的朋友可以参考一下
    2013-10-10
  • C++读取带空格字符串的方法

    C++读取带空格字符串的方法

    今天小编就为大家分享一篇C++读取带空格字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • C语言每日练习之动态显示系统时间

    C语言每日练习之动态显示系统时间

    这篇文章主要介绍了C语言动态显示系统时,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-11-11
  • C++中的Reactor原理与实现

    C++中的Reactor原理与实现

    reactor设计模式是event-driven architecture的一种实现方式,处理多个客户端并发的向服务端请求服务的场景,每种服务在服务端可能由多个方法组成,这篇文章主要介绍了Reactor原理与实现,需要的朋友可以参考下
    2022-07-07
  • C++特性之智能指针shared_ptr详解

    C++特性之智能指针shared_ptr详解

    shared_ptr是C++11提供的一种智能指针类,它足够智能,可以在任何地方都不使用时自动删除相关指针,从而帮助彻底消除内存泄漏和悬空指针的问题。本文主要是来和大家聊聊shared_ptr的使用,需要的可以参考一下
    2022-12-12
  • Vscode Remote Development远程开发调试的实现思路

    Vscode Remote Development远程开发调试的实现思路

    这篇文章主要介绍了Vscode Remote Development远程开发调试的相关资料,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C++ 多线程之互斥量(mutex)详解

    C++ 多线程之互斥量(mutex)详解

    这篇文章主要为大家详细介绍了C++多线程之互斥量(mutex),文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C++开发绘制正弦曲线的方法

    C++开发绘制正弦曲线的方法

    这篇文章主要为大家详细介绍了C++绘制正弦曲线的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • C语言中getchar和putchar的使用方法详解

    C语言中getchar和putchar的使用方法详解

    我们知道scanf函数可以从键盘输入信息,而printf则可以输出信息,同样地,getchar和putchar也有同样的功能,下面我来给大家介绍putchar和getchar的使用方法,需要的朋友可以参考下
    2023-08-08

最新评论