在 C 语言 中我们要获取 字符串 的长度,可以使用 strlen 函数,strlen 函数计算字符串的长度时,直到空结束字符,但不包括空结束字符。
因为 strlen 函数时不包含最后的结束字符的,因此一般使用 strlen 函数计算的字符串的长度会比使用 sizeof 计算的字符串的字节数要小。
size_t strlen(const char *str);
参数 | 描述 |
---|---|
str | 要计算长度的字符串。 |
该函数返回字符串的长度。
strlen 函数计算字符串的长度时,直到空结束字符,但不包括空结束字符。
使用 strlen 函数,需要引入 string.h 头文件。
使用 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;
}
程序运行后,控制台输出如下:
我们首先定义了一个字符数组 str1,并赋值,接着,我们使用了 strlen 函数获取了该字符数组的长度,同时,使用了 sizeof 获取该字符数组占用的内存字节大小。
最后,我们输出了字符串的长度和字符串占用的内存字节大小,我们发现,字符串的长度就是字符的个数,是不包含最后的结束符 \0
的。
使用 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;
}
程序运行后,控制台输出如下:
这次,我们在字符数组中插入了一个结束符 \0
,此时,我们再使用 strlen 获取字符串的长度,我们发现此时的长度仅仅为 6,即到 \0
就结束了。
在 C 语言中我们要获取字符串的长度,可以使用 strlen 函数,strlen 函数计算字符串的长度时,直到空结束字符,但不包括空结束字符。