strspn和strbrk函数的使用问题

char *strtok_r(char *s,const char *delim,char **save_ptr)
{
char *token;

if (s==NULL) s = *save_ptr;

s += strspn(s,delim);
if(*s == '/0')
    return NULL;

token = s;
s = strpbrk(token,delim);
if (s == NULL)
    *save_ptr = strchr(token,'/0');
else{
    *s=0;
    *save_ptr = s+1;
}
return token;

}

哪位大神可以解释一下这个函数的作用是什么,我是个菜鸟,看不懂啊

1个回答

 strspn(返回字符串中第一个不在指定字符串中出现的字符下标)
表头文件 #include<string.h>
定义函数 size_t strspn (const char *s,const char * accept);
函数说明 strspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。
返回值 返回字符串s开头连续包含字符串accept内的字符数目。
 strpbrk
功能:
编辑

依次检验字符串s1中的字符,当被检验字符在字符串s2中也包含时,则停止检验,并返回该字符位置,空字符NULL不包括在内。
3说明:
编辑

返回s1中第一个满足条件的字符的指针,如果没有匹配字符则返回空指针NULL。
4用途:
编辑

在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问