Classificazione di caratteri

Ognuna di queste routine verifica una specifico carattere a byte singolo, un carattere wide o un carattere multibyte per soddisfare una condizione. Per definizione, il set di caratteri ASCII compreso tra 0 e 127 è un subset di tutti i set di caratteri multibyte. Ad esempio, katakana giapponese include caratteri ASCII e non ASCII.

Le condizioni di test sono interessate dall'impostazione dell'impostazione LC_CTYPE della categoria delle impostazioni locali. Per ulteriori informazioni, vedere setlocale. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l sono identiche ma usano il parametro passato relativo alle impostazioni locali.

In genere queste routine hanno una maggiore velocità di esecuzione rispetto alle routine di test che si potrebbero scrivere e devono essere favorite rispetto a queste ultime. Ad esempio, il codice seguente viene eseguito più lentamente rispetto a una chiamata a isalpha(c):

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

Routine di classificazione dei caratteri

Ciclo Condizione di test del carattere
isalnum_isalnum_l, iswalnum, , _iswalnum_l, _ismbcalnum_l_ismbcalnum, _ismbcalpha, _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Alfanumerico
_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit_ismbcdigit_l Carattere alfanumerico multibyte
isalpha_isalpha_l, iswalpha, , _iswalpha_l, _ismbcalnum_l_ismbcalnum, _ismbcalpha, _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Alfabetico
isascii, __isascii, iswascii ASCII
isblank, iswblank, _isblank_l, _iswblank_l, _ismbcsblank_ismbcsblank_l Spazio vuoto (spazio o tabulazione orizzontale)
iscntrl, iswcntrl, _iscntrl_l_iswcntrl_l Controllo
iscsym__iscsym, iscsymf, , __iswcsym, __iscsymf__iswcsymf, _iscsym_l, _iswcsym_l, , _iscsymf_l_iswcsymf_l Lettera, carattere di sottolineatura o cifra
iscsym__iscsym, iscsymf, , __iswcsym, __iscsymf__iswcsymf, _iscsym_l, _iswcsym_l, , _iscsymf_l_iswcsymf_l Lettera o carattere di sottolineatura
isdigit_isdigit_l, iswdigit, , _iswdigit_l, _ismbcalnum_l_ismbcalnum, _ismbcalpha, _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Cifra decimale
isgraph, iswgraph, _iswgraph_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, , _ismbcblank_ismbcspace_ismbcblank_l_ismbcprint_l_ismbcpunct_ismbcpunct_l_isgraph_l_ismbcspace_l Stampabile, diverso da uno spazio
islower, iswlower, _islower_l, _iswlower_l_ismbclower, _ismbclower_l, , _ismbcupper_ismbcupper_l Minuscole
_ismbchira, _ismbchira_l, _ismbckata_ismbckata_l Hiragana
_ismbchira, _ismbchira_l, _ismbckata_ismbckata_l Katakana
_ismbclegal, _ismbclegal_l, _ismbcsymbol_ismbcsymbol_l Carattere multibyte valido
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2_ismbcl2_l Carattere multibyte giapponese di livello 0
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2_ismbcl2_l Carattere multibyte giapponese di livello 1
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2_ismbcl2_l Carattere multibyte giapponese di livello 2
_ismbclegal, _ismbclegal_l, _ismbcsymbol_ismbcsymbol_l Carattere multibyte non alfanumerico
isprint, iswprint, _iswprint_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, , _ismbcblank_ismbcspace_ismbcblank_l_ismbcprint_l_ismbcpunct_ismbcpunct_l_isprint_l_ismbcspace_l Carattere stampabile
ispunct, iswpunct, _iswpunct_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, , _ismbcblank_ismbcspace_ismbcblank_l_ismbcprint_l_ismbcpunct_ismbcpunct_l_ispunct_l_ismbcspace_l Punteggiatura
isspace, iswspace, _iswspace_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, , _ismbcblank_ismbcspace_ismbcblank_l_ismbcprint_l_ismbcpunct_ismbcpunct_l_isspace_l_ismbcspace_l Spazio vuoto
isupper, iswupper, _ismbclower, _ismbclower_l, _ismbcupper_ismbcupper_l Maiuscole
_isctype, iswctype, _isctype_l_iswctype_l Proprietà specificata dall'argomento desc
isxdigit, iswxdigit, _isxdigit_l_iswxdigit_l Cifra esadecimale
_mbclen, mblen, _mblen_l Restituisce la lunghezza del carattere multibyte valido. Il risultato dipende dall'impostazione della categoria LC_CTYPE all'interno delle impostazioni locali correnti

Vedi anche

Routine di Universal C Runtime per categoria