utfrune.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 45 行

C
45
字号
/* * The authors of this software are Rob Pike and Ken Thompson. *              Copyright (c) 2002 by Lucent Technologies. * Permission to use, copy, modify, and distribute this software for any * purpose without fee is hereby granted, provided that this entire notice * is included in all copies of any software which is or includes a copy * or modification of this software and in all copies of the supporting * documentation for such software. * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED * WARRANTY.  IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. */#include <stdarg.h>#include <string.h>#include "utf.h"#include "utfdef.h"char*utfrune(char *s, long c){	long c1;	Rune r;	int n;	if(c < Runesync)		/* not part of utf sequence */		return strchr(s, c);	for(;;) {		c1 = *(uchar*)s;		if(c1 < Runeself) {	/* one byte rune */			if(c1 == 0)				return 0;			if(c1 == c)				return s;			s++;			continue;		}		n = chartorune(&r, s);		if(r == c)			return s;		s += n;	}}

⌨️ 快捷键说明

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