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. Aby uzyskać więcej informacji, zobacz 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, , , _ismbcalpha_ismbcdigit_iswalnum_l_ismbcalnum_ismbcalnum_l_ismbcalpha_l_isalnum_l_ismbcdigit_l Alfanumeryczne
_ismbcalnum, , _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Alfanumeryczne wielobajtowe
isalpha, iswalpha, , , _ismbcalpha_ismbcdigit_iswalpha_l_ismbcalnum_ismbcalnum_l_ismbcalpha_l_isalpha_l_ismbcdigit_l Alfabetyczne
isascii, , __isasciiiswascii ASCII
isblank, , iswblank, _isblank_l, _iswblank_l, , _ismbcsblank_ismbcsblank_l Puste (spacja lub karta pozioma)
iscntrl, , iswcntrl, , _iscntrl_l_iswcntrl_l Kontrolka
iscsym, iscsymf, , , __iscsymf_iscsymf_l__iswcsym__iswcsymf_iscsym_l_iswcsym_l__iscsym_iswcsymf_l Litera, podkreślenie lub cyfra
iscsym, iscsymf, , , __iscsymf_iscsymf_l__iswcsym__iswcsymf_iscsym_l_iswcsym_l__iscsym_iswcsymf_l Litera lub podkreślenie
isdigit, iswdigit, , , _ismbcalpha_ismbcdigit_iswdigit_l_ismbcalnum_ismbcalnum_l_ismbcalpha_l_isdigit_l_ismbcdigit_l Cyfry dziesiętne
isgraph, iswgraph, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_iswgraph_l_ismbcgraph_l_ismbcspace_ismbcgraph_ismbcprint_ismbcprint_l_ismbcpunct_isgraph_l_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, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_iswprint_l_ismbcgraph_l_ismbcspace_ismbcgraph_ismbcprint_ismbcprint_l_ismbcpunct_isprint_l_ismbcspace_l Drukowalny
ispunct, iswpunct, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_iswpunct_l_ismbcgraph_l_ismbcspace_ismbcgraph_ismbcprint_ismbcprint_l_ismbcpunct_ispunct_l_ismbcspace_l Znaki interpunkcyjne
isspace, iswspace, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_iswspace_l_ismbcgraph_l_ismbcspace_ismbcgraph_ismbcprint_ismbcprint_l_ismbcpunct_isspace_l_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