_ismbb 例程
使用当前区域设置或指定的 LC_CTYPE 转换状态类别,测试某个特定条件的特定整数值c。
备注
在 _ismbb 系列的每个实例测试某个特定条件的特定整数值 c。 测试结果取决有效的多字节代码页。 默认情况下,多字节代码页设置为在程序启动时从操作系统获得的 ANSI 代码页。 可以使用 _getmbcp 查询来正在使用的多字节代码页,或 _setmbcp 更改它。
输出值受区域设置的 LC_CTYPE 分类设置影响;有关详细信息,请参阅 setlocale、_wsetlocale。 这些不带 后缀的函数的版本使用为该区域设置相关的行为的当前区域设置;带有 后缀的版本也是这样,只不过它们使用传递的区域设置参数。
在 _ismbb 系列的实例测试如下给定整数 c。
例程 |
字节测试条件 |
---|---|
isalnum || _ismbbkalnum. |
|
isalpha || _ismbbkalnum. |
|
isblank |
|
和 _ismbbprint相同,但是,_ismbbgraph 不包含空格 (0x20)。 |
|
非 ASCII 的文本符号(除了标点外)。 例如,仅在代码页 932 ,_ismbbkalnum 测试的字母数字片假名。 |
|
片假名 (0xA1 – 0xDF)。 特定的代码页 932。 |
|
非 ASCII 文本或非 ASCII 标点符号。 例如,仅在代码页 932 ,_ismbbkprint 测试片假名字母数字或片假名标点 (范围:0xA1 – 0xDF)。 |
|
非 ASCII 标点。 例如,仅在代码页 932 ,_ismbbkpunct 测试的标点片假名。 |
|
多字节字符的第一个字节。 例如,仅在代码页 932 ,有效范围是 0x81 – 0x9F,0xE0 – 0xFC。 |
|
isprint || _ismbbkprint. ismbbprint 包括空格字符 (0x20)。 |
|
ispunct || _ismbbkpunct. |
|
多字节字符的第二个字节。 例如,仅在代码页 932 ,有效范围是 0x40 – 0x7E,0x80 – 0xEC。 |
下表显示了组成这些实例的测试条件的 ORed 值。 清单常数 _BLANK、_DIGIT、_LOWER、_PUNCT和 _UPPER 定义在 Ctype.h 中。
例程 |
_BLANK |
_DIGIT |
LOWER |
_PUNCT |
UPPER |
非 ASCII 文本 |
非 ASCII punct |
---|---|---|---|---|---|---|---|
_ismbbalnum |
— |
x |
x |
— |
x |
x |
— |
_ismbbalpha |
— |
— |
x |
— |
x |
x |
— |
_ismbbblank |
x |
— |
— |
— |
— |
— |
— |
_ismbbgraph |
— |
x |
x |
x |
x |
x |
x |
_ismbbkalnum |
— |
— |
— |
— |
— |
x |
— |
_ismbbkprint |
— |
— |
— |
— |
— |
x |
x |
_ismbbkpunct |
— |
— |
— |
— |
— |
— |
x |
_ismbbprint |
x |
x |
x |
x |
x |
x |
x |
_ismbbpunct |
— |
— |
— |
x |
— |
— |
x |
_ismbb 实例实现为函数和宏。 有关如何选择任一实现的详细信息,请参阅 关于选择函数和宏的建议。
.NET Framework 等效项
不适用,就请参见 System::Globalization::CultureInfo。