关于c++ 中的strlen()函数与sizeof()函数的区别
初学c++,在学习的过程发现一些关于strlen()与sizeof()有趣的事。
char s1[] = { 'a','b','c','d' };
cout <<"strlen(s1) == "<< strlen(s1) << endl;
cout <<"sizeof(s1) == "<<sizeof(s1) << endl;
char s2[] = { 'a','\0','c','\0' };
cout << "strlen(s2) == " << strlen(s2) << endl;
cout << "sizeof(s2) == " << sizeof(s2) << endl;入代码片
通过结果看出
- 首先strlen()计算一个字符串中的字符个数,而sizeof()函数计算的是整个字符串的字节个数
- 如果将字符串中的一些元素替换成’\0’,strlen()只计算到’\0‘字符为止,而sizeof()函数依然计算整个字符串字节的数。