strlen 函数用于返回指定字符串的长度。

C 语言字符串的长度取决于结束符(’\0’)的位置。

一个字符串的长度指的是从起始位置到结束符的字符个数(不包含结束符本身)。

初学者很容易混淆字符串的长度和字符串数组的大小,例如:

char str[50] = "I love zhangshangbiancheng!";

上边str定义一个可以存放 50 个字符的数组,但 str 字符串只被初始化为包含 27 个字符的长度。
sizeof(mystr) 的结果是 100; strlen(mystr) 的结果则是 27

#include <stdio.h>
#include <string.h>

int main()
{
char str[50] = "I love zhangshangbiancheng!";

printf("length = %d\n", strlen(str));
printf("length = %d\n", sizeof(str));

return 0;
}

strlen 函数_字符串数组

如果该函数调用成功, strlen返回值是指定字符串的长度(字符个数,不包含结束符 ‘\0’)。