strsep的作用
来源:互联网 发布:rng淘宝官方旗舰店 编辑:程序博客网 时间:2024/06/04 01:04
在下面这个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。
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。
0 0
- strsep的作用
- strsep作用
- strsep的用法
- strsep
- strsep
- strsep
- strsep
- Linux 内核可用的字符串分割函数 strsep (String Split Function strsep in Linux Kernel)
- 字符串分割函数StringTokenizer与strtok,strsep的比较
- strsep 函数
- strtok strsep
- 吐槽strsep
- strsep 函数
- strsep函数
- strsep() 函数
- c语言的字符串分解——strtok函数和strsep函数
- 关于标准c中的strtok和linux库里面的strsep
- c语言的字符串分解——strtok函数和strsep函数
- js字符串补0
- 使用TFS实现ABP项目的持续集成(我靠,截了这么多图片都消失了,CSDN牛掰啊)
- HDU 3068 最长回文
- 题目1201:二叉排序树
- 自己整理的eclipse的快捷键
- strsep的作用
- web worker
- Learning with ensembles
- VS2013创建CUDA文件
- LeetCode 217. Contains Duplicate
- 【java】二叉树重建
- 高精度开方
- 列表渲染多层嵌套循环及wx:key的使用
- excle+pytest+jenkins+allure接口自动化测试框架