前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『C++』字符串后面空字符的问题(char*与string的转换)

『C++』字符串后面空字符的问题(char*与string的转换)

作者头像
风骨散人Chiam
发布2020-10-28 11:05:07
9260
发布2020-10-28 11:05:07
举报
文章被收录于专栏:CSDN旧文

字符数组是以‘\0’结尾的,所以在字符数组赋值给字符串时会多出来一个’\0’。

代码语言:javascript
复制
char a[]="mynameis"
string b=a;
cout<<b<<endl;

此时输出结果应为mynameis,然而输出结果为mynameis口(空字符标志打不出来); 所以用字符数组给string赋值时要用assign()

代码语言:javascript
复制
char a[]="mynameis"
string b;
a.assign(y,y+strlen(y)-1) //strlen会计算空字符的。
cout<<b<<endl;

字符串赋值给字符数组用循环解决。

代码语言:javascript
复制
string x;
char y[100]; 
for(int i=1;i<x.size();i++)
 {
        y[i]=x[i];
 }
代码语言:javascript
复制
字符串的操作
若string a="mynameis"
此时可以对a[0,a.size() ) 内的元素操作。
若定义 string a;
而a无值对a的操作是无意义的。

写在最后: 我叫风骨散人,名字的意思是我多想可以不低头的自由生活,可现实却不是这样。家境贫寒,总得向这个世界低头,所以我一直在奋斗,想改变我的命运给亲人好的生活,希望同样被生活绑架的你可以通过自己的努力改变现状,深知成年人的世界里没有容易二字。目前是一名在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你! 如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文! 感谢大家的阅读!?你的点赞、收藏、关注是对我最大的鼓励!

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

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

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

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

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