C语言字符串长度strlen函数

C语言strlen函数教程

C 语言 中我们要获取 字符串 的长度,可以使用 strlen 函数,strlen 函数计算字符串的长度时,直到空结束字符,但不包括空结束字符。

因为 strlen 函数时不包含最后的结束字符的,因此一般使用 strlen 函数计算的字符串的长度会比使用 sizeof 计算的字符串的字节数要小。

strlen函数详解

语法

size_t strlen(const char *str);

参数

参数 描述
str 要计算长度的字符串。

返回值

该函数返回字符串的长度。

说明

strlen 函数计算字符串的长度时,直到空结束字符,但不包括空结束字符。

技术细节

使用 strlen 函数,需要引入 string.h 头文件。

案例

C语言字符串长度

使用 strlen() 函数,实现获取字符串的长度

#include <stdio.h> #include <string.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); char str1[30] = "Hello,HaiCoder"; int strLen = strlen(str1); int sizeOfStr = sizeof(str1); printf("strLen = %d, sizeofStr = %d\n", strLen, sizeOfStr); return 0; }

程序运行后,控制台输出如下:

10_C语言字符串长度strlen函数.png

我们首先定义了一个字符数组 str1,并赋值,接着,我们使用了 strlen 函数获取了该字符数组的长度,同时,使用了 sizeof 获取该字符数组占用的内存字节大小。

最后,我们输出了字符串的长度和字符串占用的内存字节大小,我们发现,字符串的长度就是字符的个数,是不包含最后的结束符 \0 的。

C语言字符串长度

使用 strlen() 函数,实现获取字符串的长度

#include <stdio.h> #include <string.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); char str1[30] = "Hello,\0HaiCoder"; int strLen = strlen(str1); int sizeOfStr = sizeof(str1); printf("strLen = %d, sizeofStr = %d\n", strLen, sizeOfStr); return 0; }

程序运行后,控制台输出如下:

11_C语言字符串长度strlen函数.png

这次,我们在字符数组中插入了一个结束符 \0,此时,我们再使用 strlen 获取字符串的长度,我们发现此时的长度仅仅为 6,即到 \0 就结束了。

C语言字符串长度strlen函数总结

在 C 语言中我们要获取字符串的长度,可以使用 strlen 函数,strlen 函数计算字符串的长度时,直到空结束字符,但不包括空结束字符。