_ismbb 例程

使用当前区域设置或指定 LC_CTYPE 转换状态类别,针对特定条件测试给定整数值 c

备注

_ismbb 系列中的每个例程会针对特定条件测试给定整数值 c 。 测试结果取决于有效的多字节代码页。 默认情况下,多字节代码页设置为在程序启动时从操作系统获取的 ANSI 代码页。 可使用 _getmbcp 查询所使用的多字节代码页,或使用 _setmbcp 更改它。

输出值受区域设置的 LC_CTYPE 类别设置影响;有关详细信息,请参阅 setlocale, _wsetlocale。 这些不带 _l 后缀的函数的版本将当前区域设置用于此依赖于区域设置的行为;带有 _l 后缀的版本与之相同,只不过它们改用传入的区域设置参数。

_ismbb 系列中的例程按如下所示测试给定整数 c

例程 字节测试条件
_ismbbalnum isalnum(c) || _ismbbkalnum(c)
_ismbbalpha isalpha(c) || _ismbbkalpha(c)
_ismbbblank isblank(c)
_ismbbgraph _ismbbprint 相同,但是 _ismbbgraph 不包含空格字符 (0x20)
_ismbbkalnum 标点以外的非 ASCII 文本符号。 例如,仅在代码页 932 中,_ismbbkalnum 测试片假名字母数字
_ismbbkana 片假名 (0xA1 - 0xDF)。 特定于代码页 932
_ismbbkprint 非 ASCII 文本或非 ASCII 标点符号。 例如,仅在代码页 932 中,_ismbbkprint 测试片假名字母数字或片假名标点(范围:0xA1 - 0xDF)
_ismbbkpunct 非 ASCII 标点。 例如,仅在代码页 932 中,_ismbbkpunct 测试片假名标点
_ismbblead 多字节字符的第一个字节。 例如,仅在代码页 932 中,有效范围为 0x81 - 0x9F 以及 0xE0 - 0xFC
_ismbbprint isprint(c) || _ismbbkprint(c)ismbbprint 包含空格字符 (0x20)
_ismbbpunct ispunct(c) || _ismbbkpunct(c)
_ismbbtrail 多字节字符的第二个字节。 例如,仅在代码页 932 中,有效范围为 0x40 - 0x7E 以及 0x80 - 0xEC

下表显示组成这些例程测试条件的 | 组合值。 清单常量 _BLANK_DIGIT_LOWER_PUNCT_UPPERctype.h 中进行定义。

例程 _BLANK _DIGIT LOWER _PUNCT UPPER 非 ASCII
text
非 ASCII
标点
_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 例程同时以函数和宏的形式来实现。 若要深入了解如何选择任一实现,请参阅关于选择函数和宏的建议

另请参阅

字节分类
is, isw 例程
_mbbtombc_mbbtombc_l
_mbctombb_mbctombb_l