0
点赞
收藏
分享

微信扫一扫

❥关于C++之C风格字符串

niboac 2022-02-27 阅读 275
c++
char cat[4] = {'c', 'a', 't', '\0'};
cout << cat;// 打印:cat
char dog[3] = ['d', 'o', 'g'};
cout << dog;// 打印:dog€??

由打印结果可知:c-string末尾是以’\0’结尾的,否则不是c-string!

#include<cstring>// 使用strlen函数
...
char fish[] = "Bubbles";// 让编译器计算长度。末尾是有\0的!
cout << strlen(fish);// 打印:6(strlen以\0为结束标志,不计入)

<cstring>库对应C的string.h,strlen函数原型为:size_t strlen(const char* str);对于数组,数组名即为数组首地址指针,故参数是指针类型OK。

char ch[3];
if (ch[0] == '\0' && ch[1] == '\0' && ch[2] == '\0')
	cout << "Initial All NULL";

打印:Initial All NULL,说明字符数组初始化时,全部为’\0’。

通过cin键盘输入,将字符串读入到char数组时,将自动加上结尾的空字符。

关于字符串末尾的’\0’,有一种情况要注意:拼接字符串常量。

cout << "I'd give my right ar"
		"m to be a great violinist.\n";

在以上情况下,第一个字符串末尾的’\0’将被第二个字符串的第一个字符取代,从而完成字符串的拼接。

举报

相关推荐

0 条评论