1.string类成员函数c_str()的原型:

const char *c_str()const;//返回一个以null终止的c字符串

2.c_str()函数返回一个指向正规c字符串的指针,内容和string类的本身对象是一样的,通过string类的c_str()函数能够把string对象转换成c中的字符串的样式;

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()返回的是一个临时指针,不能对其进行操作

原文:https://blog.csdn.net/zhangfn2011/article/details/6364750?utm_source=copy

.c_str()函数解析相关推荐

  1. C++string类型与C语言字符数组的转换 std::string.c_str()函数

    语法: const char *c_str();搜索 c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过 ...

  2. C++ 函数返回临时string调用c_str()函数的坑(VS警告:C26815 指针无关联,因为它指向已销毁的临时实例)(悬空指针 dangling pointer)

    文章目录 问题背景 20230301 问题深入解析:悬空指针 问题背景 如: ... #pragma warning(disable : 4996) #include <iostream> ...

  3. oracle rpad mysql_Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析

    SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL 该语句拼接 时间 与 ...

  4. json数据解析_VBA 实践指南 -- Split函数解析Json数据

    什么是JSON? JSON(JavaScript Object Notation) 是一种及其轻量级的数据交换格式,它是 ECMAScript (欧洲计算机协会制定的JavaScript规范)的一个子 ...

  5. C/C++ sizeof函数解析——解决sizeof求结构体大小的问题

    C/C++ sizeof函数解析--解决sizeof求结构体大小的问题 参考文章: (1)C/C++ sizeof函数解析--解决sizeof求结构体大小的问题 (2)https://www.cnbl ...

  6. C++中的c_str()函数用法

    <span style="font-size: 14px;">语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, ...

  7. 【Socket网络编程】12. send()、recv()、sendto() 和 recvfrom() 函数解析

    send().recv().sendto()和recvfrom()函数解析 一般情况下,send().recv()在TCP协议下使用,sendto().recvfrom()在UDP协议下使用,也可以在 ...

  8. 【C++】18.char[] 与 string 的区别 与 互相转化、c_str() 函数用法

    原文链接:https://blog.csdn.net/weixin_43273685/article/details/101836630 注意:原文中有一些错误,我这里做了修改. char*与stri ...

  9. C++中的 c_str() 函数

    功能:c_str() 函数可以将 const string* 类型 转化为 cons char* 类型 头文件:#include<cstring> c_str()就是将C++的string ...

最新文章

  1. windows给应用断网
  2. 巧妙设置Android来方便管理Linux和Windows
  3. Math4DS 直播 NO.10 | “机器学习之父”、加州大学伯克利分校迈克尔·乔丹
  4. c 语言中浮点数舍入,浮点数在C中舍入,我不明白为什么
  5. 大厂技术文档:Python基础+爬虫+数据分析+面试经精选
  6. Linux shell 中$() ` `,${},$[] $(()),[ ] (( )) [[ ]]作用与区别
  7. MySQL统计函数GROUP_CONCAT使用及报错分析
  8. java未知变量的类型_Java语言中类、变量及方法的声明 | 学步园
  9. BZOJ1423 : Optimus Prime
  10. share——Alpha版(内部测试版)发布
  11. Git 工具之TortoiseGit小乌龟安装配置及使用
  12. dos窗口运行.java文件
  13. 一文详解中英文在NLP上的10大差异点
  14. 产品读书《缔造企鹅:产品经理是这样炼成的》
  15. [论文阅读] ICCV2015 Joint Fine-Tuning in Deep Neural Networks for Facial Expression Recognition
  16. 【SemiDrive源码分析】【X9芯片启动流程】12 - freertos_safetyos目录Cortex-R5 DIL2.bin 之 sdm_display_init 显示初始化源码分析
  17. Hi3861鸿蒙物联网项目实战:智能安防报警
  18. PKI(公、私钥加密,数字签名、数字证书)技术理解
  19. ggplot2–绘制分布图
  20. command-codes

热门文章

  1. 从入门到放弃表情包 python_Python从入门到放弃(1)
  2. Invalid default value for ‘updated_at‘
  3. 阅读《精通Python爬虫框架Scrapy》
  4. [Scrapy使用技巧] 如何在scrapy中捕获并处理各种异常
  5. 爬取6874条数据,告诉你数据分析师的薪资待遇~!
  6. 03.JavaScript-数据类型和数据类型转换
  7. C3P0访问数据库死锁,com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@128e59b3 -- APPARENT
  8. 生成带logo的二维码
  9. mesos安装--软件源安装
  10. 【Mysql面试宝典】快速搞定Mysql表操作