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; }
相关文章推荐
- .net实现3D饼图(源码1)
- Spring源码分析——AOP实现(2)
- 对于strtok底层的实现(个人观念)
- 谁都能看懂的单点登录(SSO)实现方式(附源码)
- java实现 swing模仿金山打字 案例源码
- Jquery实现图片轮播源码
- 【数据结构与算法】内部排序之一:插入排序和希尔排序的N中实现(不断优化,附完整源码)
- 基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
- android widget 开发实例 : 桌面便签程序的实现详解和源码 (上)
- ReactiveSwift源码解析(十一) Atomic的代码实现以及其中的Defer延迟、Posix互斥锁、递归锁
- PHP strtotime函数用法、实现原理和源码分析
- linux内存源码分析 - 内存压缩(实现流程)
- CoreCLR源码探索(五) GC内存收集器的内部实现 调试篇
- 二级指针实现单链表的插入、删除及 linux内核源码双向链表之奇技
- 开发源码--php实现多线程
- 前端(canvas)圆形网页时钟实现,源码
- 七种基本排序实现源码
- Java swing实现的小游戏推箱子升级版项目源码