C语言开发中常用的处理字符串函数strlenstrcpystrncpystrcat,需要导入头文件#include <string.h>

strlen函数

strlen计算字符串的有效长度(忽略\0),内部实现遍历字符串的每个字符 直到\0结束。

1
2
3
4
5
6
char arr[] = "hello";
size_t len = strlen(arr);
size_t size = sizeof(arr);

printf("字符串的有效长度len=%zu\n", len); // 5
printf("字符串的长度size=%zu\n", size); // 6

注意: strlen函数只能传字符串不能传字符数组,例如下面方式是错误的

1
2
3
char arr1[] = {'h', 'l', 'l', 'o'};
size_t len = strlen(arr);
printf("字符串的有效长度len=%zu\n", len); // 输出的结果是错误的

strcpy和strncpy函数

strcpy函数是对字符串进行拷贝,连同\0一起拷贝,拷贝失败 返回值为NULL。

1
2
3
4
5
6
char arr1[] = "hello world";
char arr2[100];
// 拷贝失败 返回NULL
if(strcpy(arr2, arr1) != NULL) {
printf("arr2=%s\n", arr2);
}

strncpy字符串拷贝 指定拷贝字符长度 不会连同\0一起拷贝

1
2
3
4
char arr1[] = "hello world";
char arr2[100];
// 拷贝arr1的两个字符长度
strncpy(arr2, arr1, 2);

strcat函数

strcat函数对字符串追加

1
2
3
4
5
6
char arr1[100] = "hello";
char arr2[] = "world";
// 对字符串arr1进行追加
strcat(arr1, " ");
strcat(arr1, arr2);
printf("arr2=%s\n", arr1); // arr2=hello world