c++ 字符串和字符串库函数
//有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