Share via


字元分類

這些每個常式都會測試指定的單一位元組字元、寬字元或滿足條件的多位元組字元。 (根據定義,介於 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_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l 英數字元
_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l 多位元組英數字元
isalpha, iswalpha, _isalpha_l, _iswalpha_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l 字母順序
isascii, __isascii, iswascii ASCII
isblank, iswblank, _isblank_l, _iswblank_l, _ismbcsblank, _ismbcsblank_l 空白 (空格或水平 Tab)
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_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_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 分類設定

另請參閱

依類別排序的通用 C 執行階段常式