字符分类

其中每个实例测试指定的单字节字符、宽字符或多字节字符情况的满意条件。(按照定义,ASCII 字符集(在0到127之间)是所有多字节字符集的子集。 例如,日文片假名包含 ASCII 以及非 ASCII 字符。)

测试条件受区域设置的 LC_CTYPE 类设置影响;有关更多信息,请参见 setlocale。 这些不带 _l 后缀的函数的版本使用为该区域设置相关的行为的当前区域设置;带有 _l 后缀的版本相同,只不过它们使用传递的区域设置参数。

一般来说,这些程序可以编写执行速度比测试更快,应该更受欢迎。 例如,下面的代码执行比调用isalpha(c)慢:

if ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z'))
    return TRUE;

字符分类例程

例程

字符测试条件

.NET Framework 等效项

isalnum、iswalnum、_isalnum_l、_iswalnum_l, _ismbcalnum、_ismbcalnum_l、_ismbcalpha、_ismbcalpha_l、_ismbcdigit、_ismbcdigit_l

字母数字

System::Char::IsLetterOrDigit

_ismbcalnum、_ismbcalnum_l、_ismbcalpha、_ismbcalpha_l、_ismbcdigit、_ismbcdigit_l

字母数字

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

isalpha、iswalpha、_isalpha_l、_iswalpha_l, _ismbcalnum、_ismbcalnum_l、_ismbcalpha、_ismbcalpha_l、_ismbcdigit、_ismbcdigit_l

Alphabetic

System::Char::IsLetter

__isascii、iswascii

ASCII

System::Char::IsLetter

isblank、iswblank、_isblank_l、_iswblank_l, _ismbcsblank, _ismbcsblank_l

空白 (空格或水平制表符)

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关详细信息,请参阅平台调用示例

iscntrl、iswcntrl、_iscntrl_l、_iswcntrl_l

控件

System::Char::IsControl

__iscsym、__iswcsym、__iscsymf、__iswcsymf、_iscsym_l、_iswcsym_l、_iscsymf_l、_iswcsymf_l

字母、下划线或数字

System::Char::IsControl

__iscsym、__iswcsym、__iscsymf、__iswcsymf、_iscsym_l、_iswcsym_l、_iscsymf_l、_iswcsymf_l

字母或下划线

System::Char::IsControl

isdigit、iswdigit、_isdigit_l、_iswdigit_l, _ismbcalnum、_ismbcalnum_l、_ismbcalpha、_ismbcalpha_l、_ismbcdigit、_ismbcdigit_l

十进制数字

System::Char::IsDigit

isgraph、iswgraph、_isgraph_l、_iswgraph_l, _ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l

打印除了空间以外

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

islower、iswlower、_islower_l、_iswlower_l, _ismbclower、_ismbclower_l、_ismbcupper、_ismbcupper_l

小写

System::Char::IsLower

_ismbchira、_ismbchira_l、_ismbckata、_ismbckata_l

平假名

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_ismbchira、_ismbchira_l、_ismbckata、_ismbckata_l

片假名

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_ismbclegal、_ismbclegal_l、_ismbcsymbol、_ismbcsymbol_l

合法多字节字符

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_ismbcl0、_ismbcl0_l、_ismbcl1、_ismbcl1_l、_ismbcl2、_ismbcl2_l

日本级 0 多字节字符

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_ismbcl0、_ismbcl0_l、_ismbcl1、_ismbcl1_l、_ismbcl2、_ismbcl2_l

日本级 1 多字节字符

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_ismbcl0、_ismbcl0_l、_ismbcl1、_ismbcl1_l、_ismbcl2、_ismbcl2_l

日本级 2 多字节字符

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_ismbclegal、_ismbclegal_l、_ismbcsymbol、_ismbcsymbol_l

非字母数字多字节字符

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

isprint、iswprint、_isprint_l、_iswprint_l, _ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l

可打印

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

ispunct、iswpunct、_ispunct_l、_iswpunct_l, _ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l

标点

System::Char::IsPunctuation

isspace、iswspace、_isspace_l、_iswspace_l, _ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l

空白

System::Char::IsWhiteSpace

Isupper, iswupper, _ismbclower、_ismbclower_l、_ismbcupper、_ismbcupper_l

大写

System::Char::IsUpper

_isctype、iswctype、_isctype_l、_iswctype_l

desc 参数中指定的属性

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

isxdigit、iswxdigit、_isxdigit_l、_iswxdigit_l

十六进制数

System::Char::IsNumber

_mbclen、mblen、_mblen_l

返回有效的多字节字符的长度;结果取决于当前区域设置的 LC_CTYPE 类别

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

请参见

参考

按类别分的运行时例程