Each of these routines tests a specified byte of a multibyte character for satisfaction of a condition. Except where specified otherwise, the output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. The versions of these functions without the _l suffix use the current locale for this locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale parameter passed in instead.
备注
By definition, the ASCII characters between 0 and 127 are a subset of all multibyte-character sets. For example, the Japanese katakana character set includes ASCII as well as non-ASCII characters.
The predefined constants in the following table are defined in CTYPE.H.
Multibyte-Character Byte-Classification Routines
| Routine | Byte Test Condition | .NET Framework equivalent | 
|---|---|---|
| Lead byte; test result depends on LC_CTYPE category setting of current locale | Not applicable, but see System::Globalization::CultureInfo | |
| isalnum || _ismbbkalnum | Not applicable, but see System::Globalization::CultureInfo | |
| isalpha || _ismbbkalnum | Not applicable, but see System::Globalization::CultureInfo | |
| Same as _ismbbprint, but _ismbbgraph does not include the space character (0x20) | Not applicable, but see System::Globalization::CultureInfo | |
| Non-ASCII text symbol other than punctuation. For example, in code page 932 only, _ismbbkalnum tests for katakana alphanumeric | Not applicable, but see System::Globalization::CultureInfo | |
| Katakana (0xA1 – 0xDF), code page 932 only | Not applicable, but see System::Globalization::CultureInfo | |
| 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). | Not applicable, but see System::Globalization::CultureInfo | |
| Non-ASCII punctuation. For example, in code page 932 only, _ismbbkpunct tests for katakana punctuation. | Not applicable, but see System::Globalization::CultureInfo | |
| First byte of multibyte character. For example, in code page 932 only, valid ranges are 0x81 – 0x9F, 0xE0 – 0xFC. | Not applicable, but see System::Globalization::CultureInfo | |
| isprint || _ismbbkprint. ismbbprint includes the space character (0x20) | Not applicable, but see System::Globalization::CultureInfo | |
| ispunct || _ismbbkpunct | Not applicable, but see System::Globalization::CultureInfo | |
| Second byte of multibyte character. For example, in code page 932 only, valid ranges are 0x40 – 0x7E, 0x80 – 0xEC. | Not applicable, but see System::Globalization::CultureInfo | |
| Lead byte (in string context) | Not applicable, but see System::Globalization::CultureInfo | |
| Trail byte (in string context) | Not applicable, but see System::Globalization::CultureInfo | |
| Return byte type based on previous byte | Not applicable, but see System::Globalization::CultureInfo | |
| Return type of byte within string | Not applicable, but see System::Globalization::CultureInfo | |
| Tracks the state of a multibyte character conversion. | Not applicable, but see System::Globalization::CultureInfo | 
The MB_LEN_MAX macro, defined in LIMITS.H, expands to the maximum length in bytes that any multibyte character can have. MB_CUR_MAX, defined in STDLIB.H, expands to the maximum length in bytes of any multibyte character in the current locale.