C语言strlen()函数:求字符串的长度
C语言 strlen 函数用来求字符串的长度(包含多少个字符)。
strlen() 函数从字符串的开头位置依次向后计数,直到遇见
头文件:string.h
语法/原型:
返回值:字符串 str 的长度。
【实例】使用C语言 strlen() 函数求用户输入的字符串的长度。
Java C++ Linux Python Shell: http://c.biancheng.net↙
Length: 51
sizeof = 23
strlen = 22
可以看到,sizeof 统计出的字符串长度比 strlen() 函数的统计值大 1。原因很简单,sizeof 统计了字符串结尾的
但是,sizeof 和 strlen() 函数的功能并不相同,strlen() 函数才是专门用来统计字符串长度,而 sizeof 不是。关于 sizeof 和 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() 的区别,感兴趣的小伙伴请猛击这里了解详情。