//有2个字符串定义如下:
//char s1[38]="www.yjxsoft";
//char s2[]=".com";
//请编写一段代码,把字符串s2追加到s1后边
//使printf("%s\n",s1); 打印结果为 www.yjxsoft.com
#include<string.h>
一、strcat
char* strcat(char *a,char *b)
把串b直接连接到a后边
char s1[]="123";
char s2[]="AAABBB";
strcat(s1,s2);
printf("%s \n",s1);
结果:
123AAABBB
二、strncat
char *strncat(char *a,char *b ,int n)
把串b前边的n个字符直接连接到a后边, ...
char s1[]="123";
char s2[]="AAABBB";
strncat(s1,s2,4);
printf("%s \n",s1);
结果:
123AAAB
函数名 strmicmp
功能:不管大小写,可以指定比较的长度maxlen
用法: int strmicmp(char *str1,char *str2 , unsigned maxlen);
返回结果 1表示 str1大于str2 0表示相等 -1表示str1小于str2
函数名 stricmp
功能:不管大小写
用法: int stricmp(char *str1,char *str2 );
返回结果 1表示 str1大于str2 0表示相等 -1表示str1小于str2
常用字符串查找函数
串查找函数strchr
串查找函数strstr
串查找函数strspn 和strcspn
串查找函数strrchr,strpbrk,strtok
函数名: strchr //
功 能: 在一个串中查找给定字符的第一个匹配之处\
原 型: char *strchr(char *str, char c);
程序例: printf("%s \n", strchr("abcdef123",'c')); 结果显示为:cdef123
函数名: strstr //识记
功 能: 在串中查找指定字符串的第一次出现
原 型: char *strstr(char *str1, char *str2);
程序例: printf("%s \n", strchr("abcdef123","c")); 结果显示为:cdef123
程序例: printf("%s \n", strchr("abcdef123","12")); 结果显示为:123
//了解
函数名: strspn 查找非str2字符集的字符出现的第一个位置
功 能: 返回字符串str1中第一个不在指定字符集str2中字符位置下标(int)
原 型: int strspn(char *str1, char *str2);
程序例: printf("%d \n", strspn("111cdef123","12")); 结果为3
程序例: printf("%d \n", strspn("cdccc1def123","cd"));结果为5
函数名: strcspn 查找非字符集里的字符在str1中出现的第一个位置
功 能: 返回一个str2字符集中第一次在str1中出现的字符下标位置(int)
原 型: int strcspn(char *str1, char *str2);
程序例: printf("%d \n", strcspn("111cdef123","cd")); 结果为3
程序例: printf("%d \n", strcspn("1cdccc1def123","cd"));结果为1
函数名: strrchr
功 能: 在串中查找指定字符的最后一个出现,返回一个位置处的字串
原 型: char *strrchr(char *str, char c);
程序例: printf("%s \n", strrchr("1cdccc1def123",'d')); 结果为 def123
程序例: printf("%s \n", strrchr("1cdccc1def123d",'1')); 结果为123d
函数名: strpbrk //查找字符集
功 能: 在串中查找给定字符集中的字符 ,返回一个位置处的字串
原 型: char *strpbrk(char *str1, char *str2);
程序例: printf("%s \n", strpbrk("1cdccc1def123d","fe")); //结果为ef123d
函数名: strtok 找单词
功 能: 查找由在第二个串中指定的分界符分隔开的单词,,返回一个位置处的字串,处理的结果放在str1里边
原 型: char *strtok(char *str1, const char *str2); //str *,+-'"?
程序例:
char s1[]="d+1cdccc1*def1,23,dad";
printf("%s \n", strtok(s1,"*"));
printf("%s \n",s1);
结果为:
d+1cdccc1
d+1cdccc1
程序例2:
char s1[]="d+1cdccc1*def1,23d";
printf("%s \n", strtok(s1,"+"));
printf("%s \n",s1);
结果为:
d
d