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

 

posted @ 2016-11-30 10:13  whzym111  阅读(1675)  评论(0编辑  收藏  举报