zoukankan      html  css  js  c++  java
  • strrchr()函数

    strrchr()函数:
    strrchr()函数的作用是:
        查找一个字符串在另一个字符串中 末次 出现的位置,并返回从字符串中的这个位置起,一直到字符串结束的所有字符;
        如果未能找到指定字符,那么函数将返回False。

    char *strrchr(
       char *str,
       int c
    );
    strrchr() 函数的分析
    函数原型:extern char * strrchr (const char *s, int c)

    参数说明:s为一个字符串的指针,c为一个待查找字符。
           
    所在库名:#include <string.h>
     
    函数功能:查找在s字符串中最后一次出现字符c的位置。
     
    返回说明:如果str中存在字符ch,返回出现ch的位置的指针;否则返回NULL。

    说明:
    str
    必要参数。指定需要进行搜索的字符串(字符串指针)
    c
    必要参数。指定需要查找的字符对象。如果是一个数字,那么他将搜索与这个数字对应的ASCII值相匹配的字符


    strrchr()函数源码:
    /* 查找在s字符串中最后一次出现字符c的位置 */
    char * strrchr (const char *s, int c)
    {
        register const char *found, *p;

        c = (unsigned char) c;

        //如果查找的字符是结束符,直接用strchr 函数返回结束符号的位置。

        if (c == '/0')
            return strchr (s, '/0');


        //返回值(查找的字符地址)赋初值,很重要。
        found = NULL;

        //从当前字符串超找字符c,并将返回指针赋给p,如果p不等于NULL,则执行循环。

        //如果p等于NULL,说明已查找整个字符串,退出循环。
        while ( (p = strchr (s, c)) != NULL )
        {

            //暂存查找到的字符地址。
            found = p;

            //截取已经查找过的字符串(将返回地址p的下一个字符地址作为字符串开头)。
            s = p + 1;
        }

        //如果没有找到字符,则不会执行循环,found返回初值NULL。

        //如果找到字符,返回p赋给found的指针地址。

        return (char *) found;
    }

    函数举例:
    #include <string.h>
    #include <stdio.h>

    void main()
    {
        char * pCh = "www.inkcool.com";
        char * pFind = strrchr(pCh, '.');
        if ( pFind != NULL)
        {
            printf("%s/n", pFind);    //可以直接printf(pFind);printf("/n");左边的表达式是合二为一的表达方法;
        }
    }

    返回结果是:.com      //注意,有'.'而不是只返回com

  • 相关阅读:
    2. 替换空格
    1.二维数组中的查找
    《STL源码剖析》相关面试题总结
    STL详解
    java之Stack详细介绍
    ArrayList、LinkedList、Vector的区别
    记一次vue升级element-ui的体验
    nestJs项目打包部署的方法
    Echarts 图例 legend formatter 如何返回 html
    微信小程序echarts字体大小 真机和开发者工具不一致(太小)的解决办法
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/3876042.html
Copyright © 2011-2022 走看看