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;
}
哪位大神可以解释一下这个函数的作用是什么,我是个菜鸟,看不懂啊
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)中任一字符的位置并返回,若找不到则返回空指针。