strtok.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 42 行

C
42
字号
/*	@(#)strtok.c	1.2	*//*	3.0 SID #	1.2	*//*LINTLIBRARY*//* * uses strpbrk and strspn to break string into tokens on * sequentially subsequent calls.  returns NULL when no * non-separator characters remain. * `subsequent' calls are calls with first argument NULL. */#define	NULL	(char*)0extern int strspn();extern char *strpbrk();char *strtok(string, sepset)char	*string, *sepset;{	register char	*p, *q, *r;	static char	*savept;	/*first or subsequent call*/	p = (string == NULL)? savept: string;	if(p == 0)		/* return if no tokens remaining */		return(NULL);	q = p + strspn(p, sepset);	/* skip leading separators */	if(*q == '\0')		/* return if no tokens remaining */		return(NULL);	if((r = strpbrk(q, sepset)) == NULL)	/* move past token */		savept = 0;	/* indicate this is last token */	else {		*r = '\0';		savept = ++r;	}	return(q);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?