_mbsbtype、_mbsbtype_l
返回字节的类型在字符串中。
重要
此 API 不能用于在 Windows 运行时中执行的应用程序。有关详细信息,请参见 CRT functions not supported with /ZW(CRT 函数不支持使用/ZW)。
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,_mbsbtype 返回 0;如果指定的字节在范围内 0x20 – 0x7E 或 0xA1 – 0xDF。 |
_MBC_LEAD (1) |
多字节字符中的前导字节。 例如,在代码页 932,_mbsbtype 返回 1;如果指定的字节范围在 0x81 中– 0x9F 或 0xE0 – 0xFC。 |
_MBC_TRAIL (2) |
多字节字符的尾随字节。 例如,在代码页 932,_mbsbtype 返回 2;如果指定的字节在范围内0x40 – 0x7E或0x80 – 0xFC. |
_MBC_ILLEGAL (–1) |
NULL 字符串、无效字符或者在mbstr中的count偏移字节之前找到的NULL字节。 |
备注
_mbsbtype 函数确定在多字节字符串中的字节类型。 函数只检查该字节在 mbstr的偏移量 count,忽略在指定字节之前的无效字符。
输出值受区域设置的 LC_CTYPE 类设置影响;有关更多信息,请参见 setlocale。 这些不带 _l 后缀的函数的版本使用为该区域设置相关的行为的当前区域设置;带有 _l 后缀的版本相同,只不过它们使用传递的区域设置参数。 有关详细信息,请参阅区域设置。
如果输入字符为NULL,则将调用无效参数处理程序,如参数验证所述。 如果允许执行继续,errno设置为EINVAL,并且函数返回_MBC_ILLEGAL。
要求
例程 |
必需的标头 |
可选标头 |
---|---|---|
_mbsbtype |
<mbstring.h> |
<mbctype.h>* |
_mbsbtype_l |
<mbstring.h> |
<mbctype.h>* |
*要使用的清单常数返回值。
有关兼容性的更多信息,请参见兼容性。
.NET Framework 等效项
不适用,就请参见 System::Globalization::CultureInfo。