%>
返回字符串中字节的类型。
重要
此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅通用 Windows 平台应用中不支持的 CRT 函数。
语法
int _mbsbtype(
const unsigned char *mbstr,
size_t count
);
int _mbsbtype_l(
const unsigned char *mbstr,
size_t count,
_locale_t locale
);
参数
mbstr
多字节字符序列的地址。
count
字符串头中的字节偏移量。
locale
要使用的区域设置。
返回值
_mbsbtype
和 _mbsbtype_l
返回整数值,指示指定字节的测试结果。 下表中的清单常量在 Mbctype.h 中定义。
返回值 | 字节类型 |
---|---|
_MBC_SINGLE (0) |
单字节字符。 例如,在代码页 932 中,如果指定的字节在 0x20 - 0x7E 或 0xA1 - 0xDF 范围内,则 _mbsbtype 返回 0。 |
_MBC_LEAD (1) |
多字节字符的前导字节。 例如,在代码页 932 中,如果指定的字节在 0x81 - 0x9F 或 0xE0 - 0xFC 范围内,则 _mbsbtype 返回 1。 |
_MBC_TRAIL (2) |
多字节字符的尾随字节。 例如,在代码页 932 中,如果指定的字节在 0x40 - 0x7E 或 0x80 - 0xFC 范围内,则 _mbsbtype 返回 2。 |
_MBC_ILLEGAL (-1) |
在 mbstr 中的偏移 count 上的字节前发现 NULL 字符串、无效字符或空字节。 |
注解
_mbsbtype
函数确定多字节字符字符串中字节的类型。 此函数仅检查 mbstr
中的偏移 count
上的字节,而忽略指定字节前的无效字符。
输出值受区域设置的 LC_CTYPE
类别设置的影响。 有关详细信息,请参阅 setlocale
。 此不带 _l
后缀的版本将对与区域设置相关的行为使用当前设置;而带有 _l
后缀的版本也执行相同的操作,只不过它改用传入的区域设置参数。 有关详细信息,请参阅 Locale。
如果输入字符串为 NULL
,则将调用无效的参数处理程序,如参数验证中所述。 如果允许继续执行,则将 errno
设置为 EINVAL
并且该函数返回 _MBC_ILLEGAL
中所述。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
例程 | 必需的标头 | 可选标头 |
---|---|---|
_mbsbtype |
<mbstring.h> | <mbctype.h>* |
_mbsbtype_l |
<mbstring.h> | <mbctype.h>* |
* 用作返回值的清单常量。
有关兼容性的详细信息,请参阅 兼容性。