(C语言)字符串处理函数——strcat,strcmp,strcpy,strlen,……

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); 将字符串中的小写字母转换为大写字母。

strcat() 

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

 strcpy()

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

strcmp(*s1,*s2)

  • 当s1
  • 当s1==s2,返回0
  • 当s1>s2,返回正数
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

strlen()

char arr[20] = "abcdef";
int len = strlen(arr);
printf("len=%d", len);

//输出
//len=6

strchr()与strstr() 

strchr函数与strstr函数返回值

  • 找到:相应地址
  • 找不到:NULL
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'

strlwr()与srtupr()

char str1[6]="hello";
char str2[6]="WORLD";

strupr(str1);
strlwr(str2);
	
puts(str1);
puts(str2);

//输出
//HELLO
//world

你可能感兴趣的:(C语言总结,c语言)