发布时间:2023-12-28 09:00
C语言中字符串处理的函数主要在两个头文件中 。
头文件
函数名 | 函数功能 |
gets() | 从终端输入一个字符串到字符数组,并且得到一个函数值。 |
puts() | 将一个字符串输出到终端 |
#include
int main()
{
char ch[10];
gets(ch);
puts(ch);
return 0;
}
输入abcd
输出abcd
头文件
函数名 | 函数格式 | 函数功能 | |
strcat | strcat(char *s,char *t); | 把字符串t连接到s(s=s+t) | |
strcpy | strcpy(char *s,char *t); | 把字符串t复制到s中(t—>s) | |
strcmp | strcmp(char *s,char *t); | 逐个比较字符串s与t中对应的字符,直到对应的字符不相等或者到字符串尾。(s?t) | 相等:返回0 |
不相等:不相等字符的差值 | |||
strlen | strlen(char *s); | 计算字符串长度的函数不包括“\0” | |
strchr | strchr(char *s,char a); | 在字符串s中查找字符a首次出现的地址 | |
strstr | strstr(char *s,char *t); | 在字符串s中查找字符串t首次出现的地址(判断是否是子串) | |
strlwr | strlwr(char *s); | 将字符串中的大写字母转换为小写字母。 | |
strupr | strupr(char *s); | 将字符串中的小写字母转换为大写字母。 |
char s[10]= {'a','b','c','d','e'};
char t[10]= {'F','I','J','K','M'};
strcat(s,t);
printf("s=%s\nt=%s",s,t);
//输出
//s=abcdeFIJKM
//t=FIJKM
char s[10]= {'a','b','c','d','e'};
char t[10]= {'F','I','J','K','M'};
strcpy(s,t);
printf("s=%s\nt=%s",s,t);
//输出
//s=FIJKM
//t=FIJKM
char s[3]={'a','B','c'};
char a[3]={'a','B','c'};
char b[3]={'A','b','c'};
char c[3]={'a','b','c'};
printf("strcmp(s,a):%d\n",strcmp(s,a));
printf("strcmp(s,b):%d\n",strcmp(s,b));
printf("strcmp(s,c):%d\n",strcmp(s,c));
//输出:
//strcmp(s,a):0
//strcmp(s,b):32
//strcmp(s,c):-32
char arr[20] = "abcdef";
int len = strlen(arr);
printf("len=%d", len);
//输出
//len=6
strchr函数与strstr函数返回值
char str[10]={'a','b','c','d','e','f','i','j','k','l'};
char ch='d';
char st[2]={'e','f'};
char *a,*b;
a=strchr(str,ch);
b=strstr(str,st);
if(a==NULL){
printf("在str中找不到字符'd'\n");
}else{
printf("a=%s\n",a);
}
if(b==NULL){
printf("在str中找不到子串'ef'\n");
}else{
printf("b=%s\n",b);
}
//输出
//a=defijkl
//在str中找不到子串'ef'
char str1[6]="hello";
char str2[6]="WORLD";
strupr(str1);
strlwr(str2);
puts(str1);
puts(str2);
//输出
//HELLO
//world