Udostępnij za pośrednictwem


Klasyfikacja znaków

Każda z tych procedur sprawdza określony znak jednobajtowy, szeroki znak lub wielobajtowy znak w celu zaspokojenia warunku. (Zgodnie z definicją zestaw znaków ASCII z zakresu od 0 do 127 jest podzbiorem wszystkich zestawów znaków wielobajtowych. Na przykład japoński katakana zawiera znaki ASCII i inne niż ASCII.

Warunki testowe mają wpływ na ustawienie LC_CTYPE ustawienia kategorii ustawień regionalnych. W celu uzyskania więcej informacji, zobacz następujący temat: setlocale. Wersje tych funkcji bez sufiksu _l używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych. Wersje z _l sufiksem są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast.

Zazwyczaj te procedury są wykonywane szybciej niż testy, które można napisać i powinny być preferowane. Na przykład poniższy kod wykonuje wolniej niż wywołanie metody isalpha(c):

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

Procedury klasyfikacji znaków

Procedura Warunek testu znaków
isalnum, iswalnum, _isalnum_l, _iswalnum_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Alfanumeryczne
_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Alfanumeryczne wielobajtowe
isalpha, iswalpha, _isalpha_l, _iswalpha_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Alfabetyczne
isascii, __isascii, iswascii ASCII
isblank, iswblank, _isblank_l, _iswblank_l, _ismbcsblank, _ismbcsblank_l Puste (spacja lub karta pozioma)
iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l Kontrolka
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Litera, podkreślenie lub cyfra
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Litera lub podkreślenie
isdigit, iswdigit, _isdigit_l, _iswdigit_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Cyfry dziesiętne
isgraph, iswgraph, _isgraph_l, _iswgraph_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Drukowanie inne niż spacja
islower, iswlower, _islower_l, _iswlower_l, _ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l Małe litery
_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l Hiragana
_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l Katakana
_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l Znak wielobajtowy
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l Znak wielobajtowy na poziomie Japonii
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l Znak wielobajtowy na poziomie Japonii
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l Znak wielobajtowy na poziomie Japonii
_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l Znak wielobajtowy inny niż alfanumeryczny
isprint, iswprint, _isprint_l, _iswprint_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Drukowania
ispunct, iswpunct, _ispunct_l, _iswpunct_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Znaki interpunkcyjne
isspace, iswspace, _isspace_l, _iswspace_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Białe znaki
isupper, iswupper, _ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l Wielkie litery
_isctype, iswctype, _isctype_l, _iswctype_l Właściwość określona przez desc argument
isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l Cyfra szesnastkowa
_mbclen, mblen, _mblen_l Zwracana długość prawidłowego znaku wielobajtowego; wynik zależy LC_CTYPE od ustawienia kategorii bieżących ustawień regionalnych

Zobacz też

Procedury czasu wykonywania języka Universal C według kategorii