Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133040
  • 博文数量: 30
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-08 20:28
个人简介

永远不要放弃学习,放弃学习就是放弃了勇敢生活下去的动力!

文章分类

全部博文(30)

文章存档

2014年(30)

我的朋友

分类: C/C++

2014-04-20 11:10:14

原文地址:strtok实现 作者:yyguzhou

char* my_strtok(char *s, const char *delim)
{
    static int flags[256];
    static char *orig_s = NULL;
    static const char *orig_delim = NULL;

    char *p;

    if (NULL == delim)
        return s ? s : orig_s;

    if (delim != orig_delim)
    {
        orig_delim = delim;
        memset(flags, 0, sizeof(flags));
        while (*delim)
            flags[(int)*delim++] = 1;
    }

    if (s)
        orig_s = s;

    if ((!orig_s) || (!*orig_s))
        return NULL;

    while (flags[(int)*orig_s])
        ++orig_s;
    p = orig_s;
    while (!flags[(int)*orig_s])
        ++orig_s;
    *orig_s++ = 0;

    return p;
}
阅读(1520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~