_mbbtype, _mbbtype_l

基于上一个字节返回字节类型。

重要

此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅通用 Windows 平台应用中不支持的 CRT 函数

语法

int _mbbtype(
   unsigned char c,
   int type
);
int _mbbtype_l(
   unsigned char c,
   int type,
   _locale_t locale
);

参数

c
要测试的字符。

type
要测试的字节类型。

locale
要使用的区域设置。

返回值

_mbbtype 返回字符串中字节的类型。 此判定与上下文相关,由提供控制测试条件的 type 的值指定。 type 是字符串中上一个字节的类型。 下表中的清单常量在 Mbctype.h 中定义。

type 的值 _mbbtype 测试 返回值 c
1 以外的任何值 有效的单字节或前导字节 _MBC_SINGLE (0) 单字节(0x20 - 0x7E、0xA1 - 0xDF)
1 以外的任何值 有效的单字节或前导字节 _MBC_LEAD (1) 多字节字符的前导字节(0x81 - 0x9F、0xE0 - 0xFC)
1 以外的任何值 有效的单字节或前导字节 _MBC_ILLEGAL (-1) 无效字符:非单一或铅(0x00 - 0x1F、0x7F、0x80、0xA0、0xFD、0xFE、0xFF)
1 有效的结尾字节 _MBC_TRAIL (2) 多字节字符的结尾字节(0x40 - 0x7E、0x80 - 0xFC)
1 有效的结尾字节 _MBC_ILLEGAL (-1) 无效字符:不尾随(0x00 - 0x3F、0x7F、0xFD、0xFE、0xFF)

注解

_mbbtype 函数确定多字节字符中字节的类型。 如果 type 的值为 1 以外的任何值,则 _mbbtype 测试多字节字符的单字节或前导字节是否有效。 如果 type 的值为 1,则 _mbbtype 测试多字节字符的结尾字节是否有效。

输出值受区域设置的 LC_CTYPE 类别设置的影响。 有关详细信息,请参阅 setlocale_wsetlocale。 此函数的 _mbbtype 版本对与区域设置相关的行为使用当前区域设置,_mbbtype_l 版本基本相同,但它使用传入的区域设置参数。 有关详细信息,请参阅 Locale

在早期版本中,_mbbtype 被命名为 chkctype。 对于新代码,请改为使用 _mbbtype

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

要求

例程 必需的标头 可选标头
_mbbtype <mbstring.h> <mbctype.h>*
_mbbtype_l <mbstring.h> <mbctype.h>*

* 用作返回值的清单常数的定义。

有关兼容性的详细信息,请参阅 兼容性

另请参阅

字节分类