字符数组 字符串 strcpy strlen

最后都变了- 提交于 2020-03-07 21:04:55

1.字符串

c++中字符串都是以'\0'结尾

const char* ss = "abc";
cout << ss << endl;
cout << strlen(ss) << endl;//后续会讲

输出
在这里插入图片描述

2.下面来看看字符数组

char ss[] = { 'a', 'b', 'c' };
cout << ss << endl;

输出
ss
这里字符ss在字符‘c’之后若干个字符才是’\0',这时才结束。如果将ss赋值给一个字符指针,并输出字符指针,那么输出仍然是一样的。

const char* s1 = ss;
cout << s1 << endl;

在这里插入图片描述

3. strlen和strcpy

//不统计'\0'
strlen(const char*);
//按字节拷贝,直到遇见'\0',并且将'\0'拷贝
strcpy(char* dst, const char* src);
//将这个字符串常量拷贝到一个数组中必须给数组空间
const char* s = "abc";
// strlen(s) = 3,而拷贝到数组中必须要有'\0',因此 “+1”
char * p = new char[ strlen(s) + 1];
strcpy(p,s);

如果觉得ok请点个赞鼓励^ ^

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!