C C C语言没有专门的字符串类型,用字符型数组来代替字符串, C C C语言中有一些已经定义好的函数
C C C语言字符数组函数介绍
∙
s
t
r
l
e
n
\bullet strlen
∙strlen
作用:求字符串度
用法:
s
t
r
l
e
n
(
s
)
strlen(s)
strlen(s)
返回值:字符串去掉最后一位
\
0
\backslash0
\0的长度
char s[10] = {"abcd\0"}
int n = strlen(s);
printf("%d",n);
输出结果
4
∙
s
t
r
c
p
y
\bullet strcpy
∙strcpy
作用:复制一个字符串到另一个字符串
用法:
s
t
r
c
p
y
(
s
1
,
s
2
)
strcpy(s1,s2)
strcpy(s1,s2),将字符串
s
2
s2
s2复制到
s
1
s1
s1;
返回值:
s
1
s1
s1在内存中的首地址
char s1[10],s2[10] = "abcd\0";
printf("%d\n",strcpy(s1,s2));
printf("%d\n",s1);
printf("%s",s1);
输出结果
6422294
6422294
abcd
这里的地址结果会有区别
∙
s
t
r
c
a
t
\bullet strcat
∙strcat
作用:连接两个字符串
用法:
s
t
r
c
a
t
(
s
1
,
s
2
)
strcat(s1,s2)
strcat(s1,s2),将字符串
s
2
s2
s2接在
s
1
s1
s1后面,结果存储在
s
1
s1
s1中
返回值:
s
1
s1
s1的首地址
char s1[10] = "abcd\0",s2[10] = "efg\0";
printf("%s",s1);
输出结果
abcdef
∙
s
t
r
c
h
r
\bullet strchr
∙strchr
作用:查找字符串中第一个匹配字符的地址
用法:
s
t
r
c
h
r
(
s
1
,
c
)
strchr(s1,c)
strchr(s1,c)
返回值:第一个匹配字符的地址
char s1[10] = "abcd\0";
int n = strchr(s1,'c') - s1 + 1;
printf("%d %d %d",strchr(s1,'c'),s1,n);
6487570 6487568 3
∙
s
t
r
c
m
p
\bullet strcmp
∙strcmp
作用:比较两个字符串的大小,按照
A
C
S
⨿
ACS\amalg
ACS⨿码(字典序)
用法:
s
t
r
c
m
p
(
s
1
,
s
2
)
strcmp(s1,s2)
strcmp(s1,s2)
返回值:
>
0
s
1
>0s1
>0s1 较大
<
0
s
2
<0s2
<0s2较大,
=
0
=0
=0相等
char s1[50] = "abcde",s2[50] = "abcdf";
printf("%d",strcmp(s1,s2));
输出结果
-1
∙
s
t
r
l
w
r
\bullet strlwr
∙strlwr
作用:将字符串中大写字母转化为小写字母
用法:
s
t
r
l
w
r
(
s
1
)
strlwr(s1)
strlwr(s1)
返回值:
s
1
s1
s1首地址
char s1[50] = "ABCD";
printf("%s",strlwr(s1));
输出结果
abcd
∙
s
t
r
u
p
r
\bullet strupr
∙strupr
作用:将字符串中小写字母转化为大写字母
用法:
s
t
r
u
p
r
(
s
1
)
strupr(s1)
strupr(s1)
返回值:
s
1
s1
s1首地址
char s1[50] = "abcd";
printf("%s",strupr(s1));
输出结果
ABCD
函数内容持续更新