前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ String 与 char* 相互转换

C++ String 与 char* 相互转换

作者头像
acoolgiser
发布2019-10-22 18:03:27
25K0
发布2019-10-22 18:03:27
举报
文章被收录于专栏:acoolgiser_zhuanlan

一、string->char*

1、将string转char*,可以使用string提供的c_str()或者data()函数。其中c_str()函数返回一个以'\0'结尾的字符数组,而data()仅返回字符串内容,而不含有结束符'\0'。

2、const char* c_str();

c_str()函数返回一个指向C字符串的指针,该指针指向内存内容和string 相同。因为c语言不支持string类型,故为了在c++兼容C字符串,提供了c_str()函数来实现转换。注意一定要使用strcpy()函数来操作c_str();c_str()返回的是一个临时指针,不能对其进行操作。

char ch[20]; string s="123456"; strcpy(ch,s.c_str()); c_str()以char* 形式传回string内含字符串

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

string str="123456"; printf("%s",str.c_str()); const char* p=a.data(); const char* p=a.c_str(); char* p=const_cast<char*>(a_str()); 二、char*-->string

直接赋值

string s; char* p ="hello"; s = p; 三、string-->char[]

string pp = "dagah"; char p[8]; int i; for( i=0;i<pp.length();i++) p[i] = pp[i]; p[i] = '\0'; printf("%s\n",p); cout<<p; 四、char[] 转string

直接赋值即可。

———————————————— 原文链接:https://blog.csdn.net/qq_18410319/article/details/90487796

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档