Chinaunix首页 | 论坛 | 博客
  • 博客访问: 277806
  • 博文数量: 105
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 382
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-07 17:00
个人简介

技术源于折腾,精于积累!

文章分类

全部博文(105)

文章存档

2018年(2)

2016年(3)

2015年(92)

2014年(8)

我的朋友

分类: C/C++

2015-05-29 18:47:45

  1. 包含文件:string.h  
  2.   函数名: strstr  
  3.   函数原型:extern char *strstr(char *str1, char *str2);  
  4.   功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。  
  5.   返回值:返回该位置的指针,如找不到,返回空指针。  
  1. 原型:extern char *strchr(const char *s,char c);  
  2.   const char *strchr(const char* _Str,int _Val)  
  3.   char *strchr(char* _Str,int _Ch)  
  4.   头文件:#include   
  5.   功能:查找字符串s中首次出现字符c的位置  
  6.   说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。  
  7.   返回值:Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise  
  1. C语言函数strrchr  
  2.   
  3. 函数简介  
  4.   函数名称: strrchr  
  5.   函数原型:char *strrchr(char *str, char c);  
  6.   所属库: string.h  
  7.   函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。  



  1. strcmp  
  2. 函数简介  
  3.   
  4.   原型:extern int strcmp(const char *s1,const char * s2);  
  5.   用法:#include   
  6.   功能:比较字符串s1和s2。  
  7.   一般形式:strcmp(字符串1,字符串2)  
  8.   说明:  
  9.   当s1
  10.   当s1=s2时,返回值=0  
  11.   当s1>s2时,返回值>0  
  12.   即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:  
  13.   "A"<"B" "a">"A" "computer">"compare"  
  14.   特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。  

  1. strncmp  
  2.   
  3.   函数名: strncmp  
  4.   功 能: 串比较  
  5.   用 法: int strncmp(char *str1, char *str2, int maxlen);  
  6.   说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。  

  1. strlwr  
  2.   
  3.   原型:extern char *strlwr(char *s);  
  4.   用法:#include   
  5.   功能:将字符串s转换为小写形式  
  6.   说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。  
  7.   注意事项:在Linux的编译器中,有可能会编译不通过。  

  1. strcat  
  2. C函数  
  3.   
  4. 原型  
  5.   extern char *strcat(char *dest,char *src);  
  6. 用法  
  7.   #include   
  8.   在C++中,则存在于头文件中。  
  9. 功能  
  10.   把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。  
  11. 说明  
  12.   src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。  
  13.   返回指向dest的指针。  



  1. 函数名:   strncpy   
  2. 功     能:   串拷贝   
  3. 用     法:   char   *strncpy(char   *destin,   char   *source,   int   maxlen);   
  4. memcpy   
  5. 功     能:   从源source中拷贝n个字节到目标destin中   
  6. 一个考字符串,一个拷贝内存内容  
  7.   
  8. strncpy     
  9.     原型:extern   char   *strncpy(char   *dest,   char   *src,   int   n);   
  10.                   
  11.     用法:#include      
  12.       
  13.     功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。   
  14.       
  15.     说明:   
  16.                 如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。   
  17.                 如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。   
  18.                 src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   
  19.                 返回指向dest的指针。   
  20.       
  21.     举例:   
  22.             //   strncpy.c   
  23.               
  24.             #include      
  25.             #include      
  26.             main()   
  27.             {   
  28.                 char   *s= "Golden   Global   View ";   
  29.                 char   *d= "Hello,   GGV   Programmers ";   
  30.                 char   *p=strdup(s);   
  31.                   
  32.                 clrscr();   
  33.                 textmode(0x00);     //   enable   6   lines   mode   
  34.                                   
  35.                 strncpy(d,s,strlen(s));   
  36.                 printf( "%s\n ",d);   
  37.                   
  38.                 strncpy(p,s,strlen(d));   
  39.                 printf( "%s ",p);   
  40.                   
  41.                 getchar();   
  42.                 return   0;   
  43.             }   
  44. ------------------------------   
  1. memcpy     
  2.     原型:extern   void   *memcpy(void   *dest,   void   *src,   unsigned   int   count);   
  3.     用法:#include      
  4.       
  5.     功能:由src所指内存区域复制count个字节到dest所指内存区域。   
  6.       
  7.     说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。   
  8.       
  9.     举例:   
  10.             //   memcpy.c   
  11.               
  12.             #include      
  13.             #include      
  14.             main()   
  15.             {   
  16.                 char   *s= "Golden   Global   View ";   
  17.                 char   d[20];   
  18.                   
  19.                 clrscr();   
  20.                   
  21.                 memcpy(d,s,strlen(s));   
  22.                 d[strlen(s)]=0;   
  23.                 printf( "%s ",d);   
  24.                 getchar();   
  25.                 return   0;   
  26.             }   
  1.   strcpy     
  2.     原型:extern   char   *strcpy(char   *dest,char   *src);   
  3.                   
  4.     用法:#include      
  5.       
  6.     功能:把src所指由NULL结束的字符串复制到dest所指的数组中。   
  7.       
  8.     说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   
  9.                 返回指向dest的指针。   
  10.       
  11.     举例:   
  12.             //   strcpy.c   
  13.               
  14.             #include      
  15.             #include      
  16.             main()   
  17.             {   
  18.                 char   *s= "Golden   Global   View ";   
  19.                 char   d[20];   
  20.                   
  21.                 clrscr();   
  22.                   
  23.                 strcpy(d,s);   
  24.                 printf( "%s ",d);   
  25.                 getchar();   
  26.                 return   0;   
  27.             }   
  28. -----------------------------------------------   
  29. strcpy只是复制字符串,但不限制复制的数量。很容易造成缓冲溢出。   
  30. strncpy要安全一些。   
  31. memcpy也可以用来在内存中复制数据,由于字符串是以零结尾的,所以对于在数据中包含零的数据只能用memcpy。   
  32. 性能上它们不一定有多大差别。  
阅读(1823) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~