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, iswalnum, _isalnum_l, _iswalnum_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Alfanumerico
_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Carattere alfanumerico multibyte
isalpha, iswalpha, _isalpha_l, _iswalpha_l, _ismbcalnum, _ismbcalnum_l, _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, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Lettera, carattere di sottolineatura o cifra
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Lettera o carattere di sottolineatura
isdigit, iswdigit, _isdigit_l, _iswdigit_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Cifra decimale
isgraph, iswgraph, _isgraph_l, _iswgraph_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _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, _isprint_l, _iswprint_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Carattere stampabile
ispunct, iswpunct, _ispunct_l, _iswpunct_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Punteggiatura
isspace, iswspace, _isspace_l, _iswspace_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _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