您的位置:首页 > 其它

strtok 源码实现

2013-08-29 20:36 281 查看
#include <stdio.h>
#include <assert.h>
#include <string.h>

char *Mystrtok(char *str, const char *del)
{
// str 可以为NULL
assert(del != NULL);
static char *last ;
if(str == NULL)
str	= last;

str += strspn(str, del);
if(*str == '\0')
return NULL;
char *s = str;
str = strpbrk(s, del);
if(str == NULL)
last = strchr(s, '\0');
else
{
*str = '\0';
last = str+1;
}
return s;
}

int main()
{
char a[] = "abc ab ad ac";
const char *b = "b ";
char *p = Mystrtok(a, b);
printf("%s\n", p);
while((p = Mystrtok(NULL, b)))
printf("%s\n", p);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串函数