⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbtowc.c

📁 基于4个mips核的noc设计
💻 C
字号:
/* * ansi/stdlib/mbtowc.c * ANSI/ISO 9899-1990, Section 7.10.7.2. * * int mbtowc(wchar_t *pwc, const char *s, size_t n) * Convert multibyte character to wide character. * Assumes multibyte encoding as defined in mb_encode.h. */#include <stdlib.h>#include "mb_encode.h"intmbtowc(wchar_t *pwc, const char *s, size_t n){	register wchar_t w;	register int count;	register unsigned int b1, b2, b3;	if (s == NULL)		return 0;		/* encoding is not state-dependent */	b1 = *(unsigned char *)s;	if (b1 == 0) {		if (pwc != (wchar_t *)NULL)			*pwc = 0;		return 0;		/* *s is null character */	} else if (n == 0)		return -1;		/* 0 chars are not a valid encoding */	else if (is1byte(b1)) {		/* *s encodes in one byte */		count = 1;		w = (wchar_t) b1;	} else if (n < 3)		return -1;		/* *s encodes in 3 but n < 3 */	else {		count = 3;		b2 = * (unsigned char *) ++s;		b3 = * (unsigned char *) ++s;		if (!is3byte(b1, b2, b3))			return -1;	/* s is not a valid encoding string */		w = (wchar_t) decode(b1, b2, b3);	}	if (pwc != (wchar_t *)NULL)		*pwc = w;	return count;}/* end of mbtowc.c */

⌨️ 快捷键说明

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