_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>* |
* 用作返回值的清单常数的定义。
有关兼容性的详细信息,请参阅 兼容性。