Sdílet prostřednictvím


Klasifikace znaků

Každá z těchto rutin testuje zadaný jednobajtový znak, široký znak nebo vícebajtový znak pro spokojenost podmínky. (Podle definice je znaková sada ASCII mezi 0 a 127 podmnožinou všech vícebajtových znakových sad. Například japonská katakana obsahuje znaky ASCII i jiné znaky než ASCII.)

Testovací podmínky jsou ovlivněny nastavením LC_CTYPE nastavení kategorie národního prostředí. Další informace najdete na webu setlocale. Verze těchto funkcí bez _l přípony používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s _l příponou jsou shodné s tím rozdílem, že místo toho používají předaný parametr národního prostředí.

Obecně platí, že tyto rutiny se spouštějí rychleji než testy, které byste mohli napsat a měly by být upřednostňovány. Například následující kód spustí pomalejší než volání isalpha(c):

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

Rutiny klasifikace znaků

Rutina Podmínka testu znaků
isalnum, iswalnum, , _isalnum_l, _ismbcalnum_iswalnum_l, _ismbcalnum_l_ismbcalpha_ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Alfanumerické
_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Vícebajtové alfanumerické znaky
isalpha, iswalpha, , _isalpha_l, _ismbcalnum_iswalpha_l, _ismbcalnum_l_ismbcalpha_ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Abecedy
isascii, , __isasciiiswascii ASCII
isblank, iswblank, _isblank_l, _iswblank_l, , _ismbcsblank_ismbcsblank_l Prázdné (mezera nebo vodorovná karta)
iscntrl, iswcntrl, , _iscntrl_l_iswcntrl_l Ovládací prvek
iscsym, iscsymf, , __iscsym, __iscsymf__iswcsym, __iswcsymf_iscsym_l_iswcsym_l, , _iscsymf_l_iswcsymf_l Písmeno, podtržítko nebo číslice
iscsym, iscsymf, , __iscsym, __iscsymf__iswcsym, __iswcsymf_iscsym_l_iswcsym_l, , _iscsymf_l_iswcsymf_l Písmeno nebo podtržítko
isdigit, iswdigit, , _isdigit_l, _ismbcalnum_iswdigit_l, _ismbcalnum_l_ismbcalpha_ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Desítková číslice
isgraph, iswgraph, , _isgraph_l, , _ismbcspace_ismbcblank_l_iswgraph_l_ismbcgraph_ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcpunct_ismbcpunct_l_ismbcblank_ismbcspace_l Tisknutelný jiný než mezera
islower, iswlower, _islower_l, , _iswlower_l_ismbclower, _ismbclower_l, , _ismbcupper_ismbcupper_l Malá písmena
_ismbchira, _ismbchira_l, , _ismbckata_ismbckata_l Hiragana
_ismbchira, _ismbchira_l, , _ismbckata_ismbckata_l Katakana
_ismbclegal, _ismbclegal_l, , _ismbcsymbol_ismbcsymbol_l Právní vícebajtový znak
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, , _ismbcl2_ismbcl2_l Vícebajtový znak na úrovni Japonska
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, , _ismbcl2_ismbcl2_l Vícebajtový znak japonské úrovně 1
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, , _ismbcl2_ismbcl2_l Vícebajtový znak japonské úrovně 2
_ismbclegal, _ismbclegal_l, , _ismbcsymbol_ismbcsymbol_l Neal alfanumerické vícebajtové znaky
isprint, iswprint, , _isprint_l, , _ismbcspace_ismbcblank_l_iswprint_l_ismbcgraph_ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcpunct_ismbcpunct_l_ismbcblank_ismbcspace_l Tisknutelný
ispunct, iswpunct, , _ispunct_l, , _ismbcspace_ismbcblank_l_iswpunct_l_ismbcgraph_ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcpunct_ismbcpunct_l_ismbcblank_ismbcspace_l Interpunkční znaménka
isspace, iswspace, , _isspace_l, , _ismbcspace_ismbcblank_l_iswspace_l_ismbcgraph_ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcpunct_ismbcpunct_l_ismbcblank_ismbcspace_l Prázdné znaky
isupper, iswupper, _ismbclower, _ismbclower_l, , _ismbcupper_ismbcupper_l Velká písmena
_isctype, iswctype, , _isctype_l_iswctype_l Vlastnost zadaná argumentem desc
isxdigit, iswxdigit, , _isxdigit_l_iswxdigit_l Šestnáctková číslice
_mbclen, , mblen_mblen_l Návratová délka platného vícebajtového znaku; výsledek závisí na LC_CTYPE nastavení kategorie aktuálního národního prostředí.

Viz také

Rutiny UCRT (Universal C runtime) podle kategorie