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)
上一篇 2025年6月26日 上午10:43
下一篇 2025年6月26日 上午11:22


相关推荐

  • javascript 浮动广告 代码 类

    javascript 浮动广告 代码 类DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>HTML> HEAD>  TITLE> javascript 浮动广告代码 TITLE> HEAD> BODY>   position:absolute; –>div id=sign1 style=cursor:hand;>a href=http://www.16

    2026年2月1日
    5
  • Mysql外键约束怎么删除

    Mysql外键约束怎么删除记录一下碰到的问题 由于我是使用 PowerDesigne 来建 mysql 物理模型的 为了表与表之间的关系更加清楚 我给他们连线了 之后我就用它生成的 SQL 语句在 navicat 把表建出来 我看见没问题就直接用了 毕竟初学者嘛 嘿嘿 到我做到删除的时候 我一般是先在数据库先试试 SQL 语句可以还是不可以才把它写到项目里面的 然后 在我写好删除的 SQL 后 运行 它报错了 它不让我删除 说存在外键约束 删除会破坏他们的结构 外键约束 让数据库自己通过外键来保证数据的完整性和一致性 让他们的关联性更强 虽然它是有

    2026年3月26日
    3
  • Python实现经纬度空间点DBSCAN聚类

    Python实现经纬度空间点DBSCAN聚类写在前面博主前期科研工作中 涉及到要对某个地区的一些空间点进行聚类分析 想到读研期间 曾经用 DBSCAN 聚类算法实现了四线激光雷达扫描的三维点云数据聚类 论文题目 基于改进 DBSCAN 算法的激光雷达目标物检测方法 当初用 matlab 实现的 虽说是改进的算法 但改进方法非常原始 DBSCAN 是一种非常实用的密度聚类算法 而地理空间的经纬度点聚类 没有其他维度的信息的话 毫无疑问可以用密度聚类 于是博主重新熟悉了一下算法 并做了一些改进 用 Python 实现 记录在博客里面 编译环境 Python3 7

    2026年3月18日
    1
  • axios安装使用

    axios安装使用1 进入项目运行命令 原因同 v resource 安装 cnpminstalla 在需要使用时引入如 使用按照 gitubs 上提供的示例做就可以了

    2026年3月18日
    2
  • PowerShell AD 管理

    PowerShell AD 管理

    2022年2月21日
    107
  • RapidXml用法[通俗易懂]

    RapidXml用法[通俗易懂]一、写xml文件生成的xml例如以下:写文件样例2:生成的xml例如以下:二、读取xml文件生成的xml为:三、删除节点输出信息例如以下:四、编辑节点信息临时找到的编辑方法就是先删

    2022年7月1日
    33

发表回复

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

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