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, _iswalnum_l, _ismbcalnum, _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, _iswalpha_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Abecedy
isascii, __isascii, iswascii ASCII
isblank, iswblank, _isblank_l, _iswblank_l, _ismbcsblank, _ismbcsblank_l Prázdné (mezera nebo vodorovná karta)
iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l Ctrl
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Písmeno, podtržítko nebo číslice
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Písmeno nebo podtržítko
isdigit, iswdigit, _isdigit_l, _iswdigit_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Desítková číslice
isgraph, iswgraph, _isgraph_l, _iswgraph_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _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, _iswprint_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Tisknutelné
ispunct, iswpunct, _ispunct_l, _iswpunct_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Interpunkční znaménka
isspace, iswspace, _isspace_l, _iswspace_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _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