字符串常用函数
636字约2分钟
2025-05-28
String常用函数
strlen:获取字符串长度
strcat:拼接两个字符串
strcpy:复制字符串
strcmp:比较两个字符串 // 两个字符串如果一样的话,则返回0,即假
strlwr:将字符串变成小写
strupr:将字符串变成大写
*strlen字符长度
注意:要导入 string.h
的库,#include <string.h>
char *a = "喂hi"; // 指针字符串:只能读,不能写和服用
char b[100] = "abc";
char str[5] = {'1', '2', '3', '4', '\0'};
printf("===== 长度(strlen) ======\n");
// 细节1:strlen统计长度的时候,不会把 \0 统计进去
// 默认情况下中文占用两个字节(utf-8是三个字节)
int len1 = strlen(a);
int len2 = strlen(b);
int len3 = strlen(str);
printf("%d\n", len1); // 2
printf("%d\n", len2); // 3
printf("%d\n", len3); // 4
strcat拼接
注意:要导入 string.h
的库,#include <string.h>
char b[100] = "abc";
char str[5] = {'1', '2', '3', '4', '\0'};
printf("===== 拼接(strcat) ======\n");
// 细节:将第二个字节的内容拷贝到第一个字节的末尾
// 前提1:第一个字符串可以被修改
// 前提2:第一个字符串的空间可以容纳第二个字符串的大小
strcat(b, str);
printf("%s\n", b); // abc1234
printf("%s\n", str); // 1234
*strcpy拷贝(赋值)
注意:要导入 string.h
的库,#include <string.h>
char b[100] = "abc";
char str[5] = {'1', '2', '3', '4', '\0'};
printf("===== 拷贝(strcpy) ======\n");
// 细节:将第二个字符串的内容复制到第一个字符串中,直接替换
// 前提1:第一个字符串可以被修改
// 前提2:第一个字符串的空间可以容纳第二个字符串的大小
strcpy(b, str);
printf("%s\n", b); // 1234
printf("%s\n", str); // 1234
*strcmp比较
注意:要导入 string.h
的库,#include <string.h>
char b[100] = "abc";
char str[5] = {'1', '2', '3', '4', '\0'};
printf("===== 比较(strcmp) ======\n");
// 第一个字符串和第二个字符串比较
// 完全一样返回 0
// 有一个不一样返回 非0
// 细节:顺序和内容要完全一样,才返回 0;否则其他情况都是 非0
int res = strcmp(b, str);
printf("%d\n", res); // 1
strlwr变小写
注意:要导入 string.h
的库,#include <string.h>
char b[100] = "ABC";
printf("===== 变小写(strlwr) ======\n");
// 细节:只能转换英文字母, A ==> a, B ==> b
_strlwr(b);
printf("%s\n", b); // abc
strupr变大写
注意:要导入 string.h
的库,#include <string.h>
char b[100] = "abc";
printf("===== 变大写(strupr) ======\n");
// 细节:只能转换英文字母, a ==> A, b ==> B
_strupr(b);
printf("%s\n", b); // ABC