zoukankan      html  css  js  c++  java
  • Linux 字符串处理函数

    1 strchr

    函数原型:extern char *strchr(char *str,char character)

    参数说明:str为一个字符串的指针,character为一个待查找字符。
            
    所在库名:#include <string.h>
     
    函数功能:从字符串str中寻找字符character第一次出现的位置。
     
    返回说明:返回指向第一次出现字符character位置的指针,如果没找到则返回NULL。

    2 strstr函数

    函数功能:在一个字符串中查找一个字串

    函数原型:char *strstr(char const *s1,char const *s2);

    函数说明:strstr实现在s1中查找整个s2第一次出现的位置,不包括str2的串结束符, 并返回一个指向该位置的指针。如果s2并没有完整的出现在s1的任何地方,函数返回一个NULL指针。如果第二个字符串是一个空字符串,函数返回s1。

         两个函数的区别是,strchr是在字符串中查找单个字符,可以是' '换行符(验证过),strstr是在s1中查找出现s2的位置,在字符串中查找另外一个字符串出现的位置。

    3 strcat函数

    原型: char *strcat(char *dest,char *src)
    参数说明:dest为一个目的字符串的指针,即被连接的字符串(在前),src为一个源字符串的指针(在后)。
           
    所在库名:#include <string.h>
     
    函数功能:把src所指字符串添加到dest结尾处实现字符串的连接,连接过程覆盖dest结尾处的'/0'。
     
    返回说明:src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳src的字符串返回指向dest的指针

    4 strncat 函数

    函数原型:extern char *strncat(char *dest,char *src,int n)
    参数说明:src为源字符串,dest为目的字符串,n为指定的src中的前n个字符。
           
    所在库名:#include <string.h>
     
    函数功能:把src所指字符串的前n个字符添加到dest结尾处,覆盖dest结尾处的'/0',实现字符串连接。
     
    返回说明:返回指针,连接后的字符串。

     

    5  strlen函数

    函数:size_t strlen(const char *s);

    功能:strlen()用来计算指定的字符串s的长度,不包括结束字符""。

    头文件:#include <string.h>

    返回值:返回字符串s的字符数。

     

    6  strcmp函数

    函数:int strcmp(const char *s1, const char *s2);

    功能:strcmp()用来比较参数s1和s2字符串。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1第一个字符值减去s2第一个字符值,若差值为0则再继续比较下个字符,若差值不为0则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。

    头文件:#include <string.h>

    返回值:若参数s1和s2字符串相同则返回0。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0 的值。

     

    7   strcpy函数

    函数:char *strcpy(char *dest, const char *src);

    功能:strcpy()会将参数src字符串拷贝至参数dest所指的地址。

    头文件:#include <string.h>

    返回值:返回参数dest的字符串起始地址。如果参数dest所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程序时请特别留意,或者用 strncpy() 来取代。

    8   strncpy函数

    函数:    char * strncpy(char *dest, const char *src, size_t n);

    功能:复制字符串src中的内容(字符,数字、汉字....)到字符串dest中,复制多少由n的值决定。如果src的前n个字符不含NULL字符,则结果不会以NULL字符结束。如果n<src的长度,只是将src的前n个字符复制到dest的前n个字符,不自动添加'',也就是结果dest不包括'',需要再手动添加一个''。如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符长度+''

    头文件:#include <string.h>

    【参数说明】dest 为目标字符串指针,src 为源字符串指针。strncpy()会将字符串src前n个字符拷贝到字符串dest。src 和 dest 所指的内存区域不能重叠,且 dest 必须有足够的空间放置n个字符。

    不像strcpy(),strncpy()不会向dest追加结束标记'',所以在strncpy()后使用strcat()因找不到‘’会有问题;

    若想strncpy()在结尾添加""则需n大于src字符串长度

    9   strpbrk函数

    函数:char *strpbrk(const char *str, const char *group);

    功能:依次检验字符串str中的字符,当被检验字符在字符串group中也包含时,则停止检验,并返回该字 符位置,空字符NULL不包括在内。

    头文件:#include <string.h>

    返回值:返回str中第一个满足条件的字符的指针,如果没有匹配字符则返回空指针NULL

    10   strtok函数

    函数:char *strtok(char *s, const char *delim);

    功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串, strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回被分割出片段的指针。

    头文件:#include <string.h>

    返回值 : 从s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点

    举例:

    使用第二个参数ct中的分隔符字符串,分割第一个参数s,ct参数的分隔符可以是任意字符,可以是单个字符的分隔符,也可以是字符串形式的分隔符如:"!,;'/"等,都可以作为分隔符。例如:

    s="abc,def,123;456!/aaa"
    ct=",;!/"
    s将被分割为为:abc def 123 456 aaa

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main()
    {
      char s[] = "abc,def,123;456!/aaa";
      char delim[] = " ,;!/";
    
      char *p = NULL;
      for(p = strtok(s, delim); p != NULL; p = strtok(NULL, delim))
      {
        printf("%s ", p);
      }
      printf("
    ");
    
      return 0;
    }



    gcc strtok.c -o strtok
    $ ./strtok
    abc def 123 456 aaa
    ---------------------
    作者:xiaoyao1004
    来源:CSDN
    原文:https://blog.csdn.net/xiaoyao1004/article/details/83863344
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    详解jQuery的$符号和init函数
    myeclipse 快捷键,从步骤开始的大括号定位到匹配方法结束的大括号
    为Jquery类和Jquery对象扩展方法
    JQuery 对象和事件
    jquery,禁止冒泡和默认行为
    什么是项目发布
    IP转换成域名
    nslookup域名查询命令查询ip
    Java中的逆变与协变
    iOS 图片背景模糊效果
  • 原文地址:https://www.cnblogs.com/liujx2019/p/11248398.html
Copyright © 2011-2022 走看看