2025年strsep的作用

strsep的作用在下面这个 code 中通过 strsep 将 p 表示的字符串一 分开 例如 12 34 56 会先返回 12 然后是 34 最后是 56 while id strsep amp p 我们看看 strsep 的实现 char strsep char s const char ct char sbegin s char


在下面这个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。

编程小号
上一篇 2025-02-22 15:57
下一篇 2025-03-28 12:51

相关推荐

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