_ismbb Routines

Tests the given integer value c for a particular condition, by using the current locale or a specified LC_CTYPE conversion state category.

_ismbbalnum, _ismbbalnum_l

_ismbbkprint, _ismbbkprint_l

_ismbbalpha, _ismbbalpha_l

_ismbbkpunct, _ismbbkpunct_l

_ismbbblank, _ismbbblank_l

_ismbblead, _ismbblead_l

_ismbbgraph, _ismbbgraph_l

_ismbbprint, _ismbbprint_l

_ismbbkalnum, _ismbbkalnum_l

_ismbbpunct, _ismbbpunct_l

_ismbbkana, _ismbbkana_l

_ismbbtrail, _ismbbtrail_l

Remarks

Every routine in the _ismbb family tests the given integer value c for a particular condition. The test result depends on the multibyte code page that's in effect. By default, the multibyte code page is set to the ANSI code page that's obtained from the operating system at program startup. You can use _getmbcp to query for the multibyte code page that's in use, or _setmbcp to change it.

The output value is affected by the setting of the LC_CTYPE category setting of the locale; for more information, see setlocale, _wsetlocale. The versions of these functions that don't have the _l suffix use the current locale for this locale-dependent behavior; the versions that do have the _l suffix are identical except that instead they use the locale parameter that's passed in.

The routines in the _ismbb family test the given integer c as follows.

Routine

Byte test condition

_ismbbalnum

isalnum || _ismbbkalnum.

_ismbbalpha

isalpha || _ismbbkalnum.

_ismbbblank

isblank

_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

_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

The _ismbb routines are implemented both as functions and as macros. For more information about how to choose either implementation, see Recommendations for Choosing Between Functions and Macros.

.NET Framework Equivalent

Not applicable, but see System::Globalization::CultureInfo.

See Also

Reference

Byte Classification

is, isw Routines

_mbbtombc, _mbbtombc_l

_mbctombb, _mbctombb_l