_ismbb Routines
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

_ismbb Routines

Each routine in the _ismbb family tests the given integer value c for a particular condition.

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.

See Also

Byte Classification Routines | is, isw Function Overview | _mbbtombc | _mbctombb | Run-Time Routines and .NET Framework Equivalents

Show:
© 2016 Microsoft