需要在代码头部加上标准库<string.h>
代码示例
#include <string.h>char s1[20] = "hello world";
char s2[20] = {
'h','e','l','l','0',' ','w','o','r','l','d','\0'};
char s3[] = "hello\0 world";
char s4[] = {
'h','e','l','l','0','\0',' ','w','o','r','l','d','\0'};
printf("%d\t%d\t%d\t%d\n",strlen(s1),strlen(s2),strlen(s3),strlen(s4));
printf("%d\t%d\t%d\t%d\n",sizeof(s1),sizeof(s2),sizeof(s3),sizeof(s4));
/* 输出: 11 11 5 5 20 20 13 13 */
函数说明
-
strlen()
:求得的字符串长度是从字符串第一个元素到第一个’\0’之间元素的个数(如果字符串中间有’\0’,则结果不是整个字符串的长度),同时不包括该’\0’ -
sizeof()
:求得的字符串长度是存储该字符串的变量占用的空间大小,因而一定会包括’\0’.若’\0’后还有空余的空间,也会包含到结果里面