首页 > 编程笔记

C语言strlen()函数:求字符串的长度

C语言 strlen 函数用来求字符串的长度(包含多少个字符)。

strlen() 函数从字符串的开头位置依次向后计数,直到遇见\0,然后返回计时器的值。最终统计的字符串长度不包括\0

头文件:string.h

语法/原型:

size_t strlen(const char* str);

参数 str 表示要求长度的字符串。

返回值:字符串 str 的长度。

【实例】使用C语言 strlen() 函数求用户输入的字符串的长度。
#include <stdio.h>
#include <string.h>

int main(){
    char str[100] = { 0 };
    size_t len;
    gets(str);
    len = strlen(str);
    printf("Length: %d\n", len);

    return 0;
}
运行结果:
Java C++ Linux Python Shell: http://c.biancheng.net↙
Length: 51

拓展阅读

很多初学者经常将 sizeof 和 strlen() 函数混为一谈,例如:
#include <stdio.h>
#include <string.h>
int main() {
    char str[] = "http://c.biancheng.net";
    printf("sizeof = %d\n", sizeof(str));
    printf("strlen = %d", strlen(str));
    return 0;
}
运行结果为:
sizeof = 23
strlen = 22

可以看到,sizeof 统计出的字符串长度比 strlen() 函数的统计值大 1。原因很简单,sizeof 统计了字符串结尾的\0,而 strlen() 函数没有。

但是,sizeof 和 strlen() 函数的功能并不相同,strlen() 函数才是专门用来统计字符串长度,而 sizeof 不是。关于 sizeof 和 strlen() 的区别,感兴趣的小伙伴请猛击这里了解详情。

推荐阅读