tokenize.c

来自「著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是」· C语言 代码 · 共 44 行

C
44
字号
#include <u.h>#include <libc.h>intgetfields(char *str, char **args, int max, int mflag, char *set){	Rune r;	int nr, intok, narg;	if(max <= 0)		return 0;	narg = 0;	args[narg] = str;	if(!mflag)		narg++;	intok = 0;	for(;; str += nr) {		nr = chartorune(&r, str);		if(r == 0)			break;		if(utfrune(set, r)) {			if(narg >= max)				break;			*str = 0;			intok = 0;			args[narg] = str + nr;			if(!mflag)				narg++;		} else {			if(!intok && mflag)				narg++;			intok = 1;		}	}	return narg;}inttokenize(char *str, char **args, int max){	return getfields(str, args, max, 1, " \t\n\r");}

⌨️ 快捷键说明

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