strsep的作用

strsep的作用在下面这个code中通过strsep将p表示的字符串一“,”分开,例如12,34,56.会先返回12,然后是34,最后是56while((id=strsep(&p,”,”)))我们看看strsep的实现char*strsep(char**s,constchar*ct){   char*sbegin=*s;   char*end;  

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定
在下面这个code中通过strsep将p表示的字符串一“,” 分开,例如12,34,56.会先返回12,然后是34,最后是56

while ((id = strsep(&p, “,”)))

我们看看strsep的实现

char *strsep(char **s, const char *ct)

{

    char *sbegin = *s;

    char *end;

    if (sbegin == NULL)

        return NULL;

    end = strpbrk(sbegin, ct);

    if (end)

        *end++ = ‘\0’;

    *s = end;

    return sbegin;

}

首先判断*s不能为null,然后调用strpbrk找到地一个“,”,然后在最后添加’\0’,然后将*s = end,而*sbegin = *s,最后返回sbegin。

在strsep 中有调用strpbrk 来在sbegin 找到地一个“,”

char *strpbrk(const char *cs, const char *ct)

{

    const char *sc1, *sc2;

    for (sc1 = cs; *sc1 != ‘\0’; ++sc1) {

        for (sc2 = ct; *sc2 != ‘\0’; ++sc2) {

            if (*sc1 == *sc2)

                return (char *)sc1;

        }

    }

    return NULL;

}

可见在strpbrk 中是每个字符逐个比较的。找到的话就返回,否则返回NULL。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226718.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二进制安装MySQL报错FATAL ERROR: Could not find my_print_defaults

    二进制安装MySQL报错FATAL ERROR: Could not find my_print_defaults[root@locahostmysql]#./scripts/mysql_install_db–user=mysql–basedir=/application/mysql/–datadir=/application/mysql/data/FATALERROR:Couldnotfindmy_print_defaultsThefollowingdirectoriesweres

    2025年5月26日
    1
  • ftp文件下载工具,四款超级好用的ftp文件下载工具

    ftp文件下载工具,四款超级好用的ftp文件下载工具ftp文件下载工具是什么工具,可能有人会回答说不知道,因为一般只有从事网站管理的工作者会使用的多一点。但不是每个人生来就会的,所以刚开始肯定都会学习怎么使用。这篇文章就来告诉大家有哪些ftp文件下载工具吧。第一款:IIS7服务器管理工具说实话,这个工具算是比较好的管理工具了。里面的功能除了批量管理,还有很多别的功能,主要也是功能也比较全面,相信大多数使用的网站工作人员都比较熟悉了。它里面还能够定时上传下载、定时备份和主动更新。把你花在更新上的经历都省了。IIS7服务器管理工具除了在ftp上面有这么多的

    2022年5月4日
    204
  • ANSI编码表_ansi配列

    ANSI编码表_ansi配列在日常开发中,在思考一个问题,为什么是英文来编程,结果ASCII这个玩意在处理。ASCII,AmericanStandardCodeforInformationInterchange念起来像是”阿斯key”,定义从0到127的一百二十八个数字所代表的英文字母或一样的结果与意义。由于只使用7个位元(bit)就可以表示从0到127的数字,大部分的电脑都使用8个位元来存取字元集(characterset),所以从128到255之间的数字可以用来代表另一组一百二十八个符号,称…

    2022年9月23日
    2
  • 证书认证过程_过程装备与控制工程可考证书

    证书认证过程_过程装备与控制工程可考证书现在很多的网站都会用​​https证书申请​​了,因为https证书好处现在越来越受到人们的认知,https安全证书的好处不仅仅对于客户的信息隐私数据有保护,对于维护网站的知名度以及安全可信度也是大有帮助。这也是很多人用申请https证书,但是他们首先遇到的难题就是申请https证书的过程是怎么样的?申请​​https证书​​的步骤是怎样的呢?1、要想完成https证书的申请,要先确定申请什么类型的https:大体来说有安全等级可以分为域名型证书,企业型证书以及增强型证书。根据自己网站.

    2022年10月1日
    2
  • lxml与pyquery解析html

    lxml与pyquery解析htmllxml首先来了解一下lxml,很多常用的解析html的库都用到了lxml这个库,例如BeautifulSoup、pyquery。下面我们介绍一下lxml关于html解析的3个Element。_Element_Element获取fromlxmlimportetreetext=”'<div><ul><licla…

    2022年6月3日
    47
  • Vue常用指令(一)

    Vue常用指令(一)1、v-once 只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。代码:<body><div id=”app”> <p v-once>原始值: {{msg}}</p> <p>后面的: {{msg}}</p> <input typ…

    2022年6月13日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号