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。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • influxdb原理与实战_fluent调用nist数据库

    influxdb原理与实战_fluent调用nist数据库本文属于《InfluxDB系列教程》文章系列,该系列共包括以下15部分:InfluxDB学习之InfluxDB的安装和简介InfluxDB学习之InfluxDB的基本概念InfluxDB学习

  • ThinkPHP函数详解:L方法

    ThinkPHP函数详解:L方法

  • python实现 最短路径算法

    python实现 最短路径算法一、Floyd-Warshall算法1.算法简介Floyd-Warshall算法是解决任意两点间的最短路径的一种算法。通常可以在任何图中使用,包括有向图、带负权边的图。存储方式采用邻接矩阵2.示例0 1 2 6 3 1 0 3 5 2 2 3 0 8 5 6 5 8 0 …

  • java初中级面试题集锦

    java初中级面试题集锦目录基础&与&&区别使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?静态变量和实例变量的区别?是否可以从一个static方法内部发出对非static方法的调用?”==”和equals方法究竟有什么区别?int和Integer的区别什么是foreach循环,它可以循环那些数据类型重载与重写区别?…

  • matlab画三维图如何更改颜色,MATLAB画三维图像「建议收藏」

    matlab画三维图如何更改颜色,MATLAB画三维图像「建议收藏」姓名:刘肖珊学号:19021210919【嵌牛导读】:matlab是一款功能强大的编程软件,三维图像常用,文章介绍matlab如何画三维图像【嵌牛鼻子】:MATLAB、三维图【嵌牛提问】:matlab如何画三维图像?【嵌牛正文】:当我们学习surface命令时,已经看到了三维作图的一些端倪。在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像。首先,我们用z=cos(x)sin(…

    2022年10月11日
  • hibernate框架中对象的状态

    hibernate框架中对象的状态

发表回复

您的电子邮箱地址不会被公开。

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