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

今天AC了不少题,困扰已久的Time limit error 也解决了,记住下次用STL容器的时候一定要清空容器。
其次是字符数组与字符串的浅谈。
字符数组是以‘\0’结尾的,所以在字符数组赋值给字符串时会多出来一个’\0’。

char a[]="mynameis"
string b=a;
cout<<b<<endl;

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

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

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

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



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

posted @ 2019-03-12 21:18  风骨散人  阅读(218)  评论(0编辑  收藏  举报