mbclen.c

来自「一个类似windows」· C语言 代码 · 共 34 行

C
34
字号
#include <mbstring.h>
#include <stdlib.h>


/*
 * @implemented
 */
size_t _mbclen(const unsigned char *s)
{
	return (_ismbblead(*s>>8) && _ismbbtrail(*s&0x00FF)) ? 2 : 1;
}

size_t _mbclen2(const unsigned int s)
{
	return (_ismbblead(s>>8) && _ismbbtrail(s&0x00FF)) ? 2 : 1;
}

/*
 * assume MB_CUR_MAX == 2
 *
 * @implemented
 */
int mblen( const char *s, size_t count )
{
	size_t l;
	if ( s == NULL )
		return 0;

	l =  _mbclen((const unsigned char *)s);
	if ( l < count )
		return -1;
	return l;
}

⌨️ 快捷键说明

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