现在的位置: 首页 > 综合 > 正文

字符串处理的一些常用函数

2017年12月03日 ⁄ 综合 ⁄ 共 4918字 ⁄ 字号 评论关闭

1.strrchr函数 /  strchr函数  /strstr函数

 

strrchr()函数的作用是:查找一个字符在另一个字符串中末次出现的位置,

并返回字符串中的这个位置的指针,可以输出从这个位置起一直到字符串结束的所有字符。

如果未能找到指定字符,那么函数将返回NULL。

 

函数原型是: char *strrchr(char *str, char c);

 

举个例子:

 

 

strchr函数:

 

       与strrchr函数不同的是,它是查找一个字符在另一个字符串中首次出现的位置,相同的是它也是返回

 

       字符串中这个位置的指针。

 

函数原型:char *strchr(char *s,char c);

例子:

 

 

 

strstr函数

 

功能:与strchr函数有点类似的是strstr函数是查找子一个字符串在另一个字符串中首次出现的位置,而strchr是查找一个字

 

        符在另一个字符串中首次出现的位置,这点从函数名上也可以看的出来。最后都是返回该位置的指针。

 

原型:char *strstr(char *a, char *b);

 

例子:

 

 

 

 

2.substr函数

 

 功能 :返回一个从指定位置开始,并具有指定长度的子字符串。

 

函数原型:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串

 

这个函数是string类的方法,所以要用string字符串来调用,由于一般用char*的情况也很多

于是下面例子故意加上了这两种风格字符串相互转化的情况。

 

例子:

 

 

 

3.find函数

 

功能:假如有两个字符串A和B,要查找A字符串中是否包含有B字符串就可以用这个函数。不包含的时候

     

         函数返回-1.否则就返会字符串A中所包含的字符串B的第一个字符的索引。

 

函数原型:

int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置
int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置
int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置
int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置

 举个例子:

 

 

 4.strncat函数  /  strcat函数

  原型:char *strncat(char *dest,char *src,int n);
       
  用法:#include <string.h>
 
  功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。
 
  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
            返回指向dest的指针。

 

 strncat函数的例子:

 

strcat函数:是strncat函数的弱化版

 

  原型: char *strcat(char *dest,char *src);
       
  用法:#include <string.h>
 
  功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。
 
  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
        返回指向dest的指针。

 

   例子:

 

 

 

5.memcpy函数  / strcpy函数  /memcmp函数

 

memcpy函数

 

     原型:void *memcpy(void *dest, void *src, unsigned int count);

     用法:#include <string.h>
 
     功能:由src所指内存区域复制count个字节到dest所指内存区域。
 
     说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。

 

 例子:

 

 

 

 

strcpy函数

 

  原型:char *strcpy(char *dest,char *src);
       
  用法:#include <string.h>
 
  功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
 
  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
        返回指向dest的指针。

 

  例子:

 

 

memcmp函数

  

   原型:int memcmp(void *buf1, void *buf2, unsigned int count);

 用法:#include <string.h>

 功能:比较内存区域buf1和buf2的前count个字节

  

   说明:buf1>buf2时,返回值>0.一般为1

            buf1<buf2时,返回值<0.一般为-1

            buf1=buf2时,返回值=0.

 

   例子:

 

 

6.memset函数  /  bzero函数

 

memset函数

 

   原型:void *memset(void *buffer, char c, int count);
       
   用法:#include <string.h>
 
   功能:把buffer所指内存区域的前count个字节设置成字符c。
 
  说明:返回指向buffer的指针。

 

   例子:

  

   

 

 

bzero函数

 

     原型:void bzero(void *s, int n);

     用法:#include <string.h>
 
     功能:置字节字符串s的前n个字节为零。
 
     说明:bzero无返回值。

 

     例子:

 

 

 7.strtok函数

 

  原型:char *strtok(char *s, char *delim);
       
  用法:#include <string.h>
 
  功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。
 
  说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。
        strtok在s中查找包含在delim中的字符并用NULL('/0')来替换,直到找遍整个字符串。
        返回指向下一个标记串。当没有标记串时则返回空字符NULL。

   例子:

   

   

 

 

就先写这么多了,以后碰到了再补上

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

抱歉!评论已关闭.