_ismbb Routines

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.

Byte Classification Routinesis, isw Function Overview

See Also   _mbbtombc, _mbctombb