Each routine in the _ismbb family tests the given integer value c for a particular condition.
_ismbbalnum | _ismbbkpunct |
_ismbbalpha | _ismbblead |
_ismbbgraph | _ismbbprint |
_ismbbkalnum | _ismbbpunct |
_ismbbkana | _ismbbtrail |
_ismbbkprint |
Remarks
Each routine in the _ismbb family tests the given integer value c for a particular condition. The test result depends on the multibyte code page in effect. By default, the multibyte code page is set to the system-default ANSI code page obtained from the operating system at program startup. You can query or change the multibyte code page in use with _getmbcp or _setmbcp, respectively.
The routines in the _ismbb family test the given integer c as follows.
Routine | Byte Test Condition |
_ismbbalnum | isalnum || _ismbbkalnum |
_ismbbalpha | isalpha || _ismbbkalnum |
_ismbbgraph | Same as _ismbbprint, but _ismbbgraph does not include the space character (0x20). |
_ismbbkalnum | Non-ASCII text symbol other than punctuation. For example, in code page 932 only, _ismbbkalnum tests for katakana alphanumeric. |
_ismbbkana | Katakana (0xA1 – 0xDF). Specific to code page 932. |
_ismbbkprint | Non-ASCII text or non-ASCII punctuation symbol. For example, in code page 932 only, _ismbbkprint tests for katakana alphanumeric or katakana punctuation (range: 0xA1 – 0xDF). |
_ismbbkpunct | Non-ASCII punctuation. For example, in code page 932 only, _ismbbkpunct tests for katakana punctuation. |
_ismbblead | First byte of multibyte character. For example, in code page 932 only, valid ranges are 0x81 – 0x9F, 0xE0 – 0xFC. |
_ismbbprint | isprint || _ismbbkprint. ismbbprint includes the space character (0x20). |
_ismbbpunct | ispunct || _ismbbkpunct |
_ismbbtrail | Second byte of multibyte character. For example, in code page 932 only, valid ranges are 0x40 – 0x7E, 0x80 – 0xEC. |
The following table shows the ORed values that compose the test conditions for these routines. The manifest constants _BLANK, _DIGIT, _LOWER, _PUNCT, and _UPPER are defined in CTYPE.H.
Routine |
_BLANK |
_DIGIT |
LOWER |
_PUNCT |
UPPER |
Non- ASCII Text |
Non- ASCII Punct |
_ismbbalnum | — | x | x | — | x | x | — |
_ismbbalpha | — | — | x | — | x | 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 |
The _ismbb routines are implemented both as functions and as macros. For details on choosing either implementation, see Choosing Between Functions and Macros.