字符分类

其中的每个例程均针对条件满意度测试指定的单字节字符、宽字符或多字节字符。 (根据定义,0 和 127 之间的 ASCII 字符集是所有多字节字符集的子集。 例如,日语的片假名包括 ASCII 以及非 ASCII 字符。)

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

与你可能编写的测试相比,这些例程的执行速度通常更快,因此应优先考虑。 例如,以下代码执行速度慢于调用 isalpha(c)

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

字符分类例程

例程 字符测试条件
isalnum、iswalnum、_isalnum_l、_iswalnum_lisalnum、iswalnum、_isalnum_l、_iswalnum_l 字母数字
_ismbcalnum、_ismbcalnum_l、_ismbcalpha、_ismbcalpha_l、_ismbcdigit、_ismbcdigit_l 字母数字
isalpha、iswalpha、_isalpha_l、_iswalpha_lisalnum、iswalnum、_isalnum_l、_iswalnum_l Alphabetic
isascii、__isascii、iswascii ASCII
isblank、iswblank、_isblank_l、_iswblank_l_ismbcsblank、_ismbcsblank_l 空白(空格或水平制表符)
iscntrl、iswcntrl、_iscntrl_l、_iswcntrl_l 控件
iscsym、iscsymf、__iscsym、___iswcsym、___iscsymf、___iswcsymf、_iscsym_l、_iswcsym_l、_iscsymf_l、_iswcsymf_l 字母、下划线或数字
iscsym、iscsymf、__iscsym、___iswcsym、___iscsymf、___iswcsymf、_iscsym_l、_iswcsym_l、_iscsymf_l、_iswcsymf_l 字母或下划线
isdigit、iswdigit、_isdigit_l、_iswdigit_lisalnum、iswalnum、_isalnum_l、_iswalnum_l 十进制数字
isgraph、iswgraph、_isgraph_l、_iswgraph_l_ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l 可打印(空格除外)
islower、iswlower、_islower_l、_iswlower_l_ismbclower、_ismbclower_l、_ismbcupper、_ismbcupper_l 小写
_ismbchira、_ismbchira_l、_ismbckata、_ismbckata_l 平假名
_ismbchira、_ismbchira_l、_ismbckata、_ismbckata_l 片假名
_ismbclegal、_ismbclegal_l、_ismbcsymbol、_ismbcsymbol_l 有效的多字节字符
_ismbcl0、_ismbcl0_l、_ismbcl1、_ismbcl1_l、_ismbcl2、_ismbcl2_l 日本 0 级多字节字符
_ismbcl0、_ismbcl0_l、_ismbcl1、_ismbcl1_l、_ismbcl2、_ismbcl2_l 日本 1 级多字节字符
_ismbcl0、_ismbcl0_l、_ismbcl1、_ismbcl1_l、_ismbcl2、_ismbcl2_l 日本 2 级多字节字符
_ismbclegal、_ismbclegal_l、_ismbcsymbol、_ismbcsymbol_l 非字母数字的多字节字符
isprint、iswprint、_isprint_l、_iswprint_l_ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l 可打印
ispunct、iswpunct、_ispunct_l、_iswpunct_l_ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l 标点
isspace、iswspace、_isspace_l、_iswspace_l_ismbcgraph、_ismbcgraph_l、_ismbcprint、_ismbcprint_l、_ismbcpunct、_ismbcpunct_l、_ismbcblank、_ismbcblank_l、_ismbcspace、_ismbcspace_l 空格
Isupper、iswupper, _ismbclower、_ismbclower_l、_ismbcupper、_ismbcupper_l 大写
_isctype、iswctype、_isctype_l、_iswctype_l desc 参数指定的属性
isxdigit、iswxdigit、_isxdigit_l、_iswxdigit_l 十六进制数
_mbclen、mblen、_mblen_l 返回有效的多字节字符的长度;结果取决于当前区域设置的 LC_CTYPE 类别设置

另请参阅

按类别分的运行时例程