Classificação de caracteres
Artigo 08/03/2024
7 contribuidores
Comentários
Neste artigo
Todas essas rotinas testam um caractere de byte único especificado, caractere largo ou caracteres multibyte para satisfação de uma condição. (Por definição, o conjunto de caracteres ASCII entre 0 e 127 é um subconjunto de todos os conjuntos de caracteres multibyte. Por exemplo, o katakana japonês inclui caracteres ASCII e não ASCII.)
As condições de teste são afetadas pela configuração da LC_CTYPE
categoria da localidade. Para obter mais informações, consulte setlocale
. As versões dessas funções sem o sufixo _l
usam a localidade atual desse comportamento dependente da localidade. As versões com o sufixo _l
são idênticas, exceto por usarem o parâmetro de localidade passado em seu lugar.
Geralmente, essas rotinas executam mais rápido do que testes, você pode gravar e deve ser favorecido. Por exemplo, o código a seguir executa mais lentamente do que uma chamada para isalpha(c)
:
if ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z'))
return TRUE;
Rotinas de classificação de caracteres
Rotina
Condição de teste de caractere
isalnum
, iswalnum
, _isalnum_l
, _iswalnum_l
, _ismbcalpha
_ismbcdigit
_ismbcalnum
_ismbcalnum_l
_ismbcalpha_l
,_ismbcdigit_l
Alfanumérico
_ismbcalnum
, _ismbcalnum_l
, _ismbcalpha
, _ismbcalpha_l
, _ismbcdigit
, , _ismbcdigit_l
Multibyte alfanumérico
isalpha
, iswalpha
, _isalpha_l
, _iswalpha_l
, _ismbcalpha
_ismbcdigit
_ismbcalnum
_ismbcalnum_l
_ismbcalpha_l
,_ismbcdigit_l
Alfabético
isascii
, __isascii
, iswascii
ASCII
isblank
, iswblank
, _isblank_l
, _iswblank_l
, _ismbcsblank
, , _ismbcsblank_l
Em branco (espaço ou tabulação horizontal)
iscntrl
, iswcntrl
, _iscntrl_l
, _iswcntrl_l
Control
iscsym
, iscsymf
, __iscsym
, __iswcsym
, __iscsymf
_iscsymf_l
__iswcsymf
_iscsym_l
_iswcsym_l
,_iswcsymf_l
Letra, sublinhado ou dígito
iscsym
, iscsymf
, __iscsym
, __iswcsym
, __iscsymf
_iscsymf_l
__iswcsymf
_iscsym_l
_iswcsym_l
,_iswcsymf_l
Letra ou sublinhado
isdigit
, iswdigit
, _isdigit_l
, _iswdigit_l
, _ismbcalpha
_ismbcdigit
_ismbcalnum
_ismbcalnum_l
_ismbcalpha_l
,_ismbcdigit_l
Dígito decimal
isgraph
, iswgraph
, _isgraph_l
, _iswgraph_l
, _ismbcgraph
, _ismbcgraph_l
_ismbcprint
_ismbcblank
_ismbcprint_l
_ismbcspace
_ismbcpunct
_ismbcpunct_l
_ismbcblank_l
,_ismbcspace_l
Imprimível além do espaço
islower
, iswlower
, _islower_l
, _iswlower_l
, _ismbclower
, _ismbclower_l
, , _ismbcupper
, , _ismbcupper_l
Letras minúsculas
_ismbchira
, _ismbchira_l
, _ismbckata
, _ismbckata_l
Hiragana
_ismbchira
, _ismbchira_l
, _ismbckata
, _ismbckata_l
Katakana
_ismbclegal
, _ismbclegal_l
, _ismbcsymbol
, _ismbcsymbol_l
Caractere multibyte legal
_ismbcl0
, _ismbcl0_l
, _ismbcl1
, _ismbcl1_l
, _ismbcl2
, , _ismbcl2_l
Caractere multibyte nível 0 do Japão
_ismbcl0
, _ismbcl0_l
, _ismbcl1
, _ismbcl1_l
, _ismbcl2
, , _ismbcl2_l
Caractere multibyte nível 1 do Japão
_ismbcl0
, _ismbcl0_l
, _ismbcl1
, _ismbcl1_l
, _ismbcl2
, , _ismbcl2_l
Caractere multibyte nível 2 do Japão
_ismbclegal
, _ismbclegal_l
, _ismbcsymbol
, _ismbcsymbol_l
Caracteres multibyte não alfanuméricos
isprint
, iswprint
, _isprint_l
, _iswprint_l
, _ismbcgraph
, _ismbcgraph_l
_ismbcprint
_ismbcblank
_ismbcprint_l
_ismbcspace
_ismbcpunct
_ismbcpunct_l
_ismbcblank_l
,_ismbcspace_l
Imprimível
ispunct
, iswpunct
, _ispunct_l
, _iswpunct_l
, _ismbcgraph
, _ismbcgraph_l
_ismbcprint
_ismbcblank
_ismbcprint_l
_ismbcspace
_ismbcpunct
_ismbcpunct_l
_ismbcblank_l
,_ismbcspace_l
Pontuação
isspace
, iswspace
, _isspace_l
, _iswspace_l
, _ismbcgraph
, _ismbcgraph_l
_ismbcprint
_ismbcblank
_ismbcprint_l
_ismbcspace
_ismbcpunct
_ismbcpunct_l
_ismbcblank_l
,_ismbcspace_l
Espaço em branco
isupper
, iswupper
, _ismbclower
, _ismbclower_l
, _ismbcupper
, , _ismbcupper_l
Maiúsculas
_isctype
, iswctype
, _isctype_l
, _iswctype_l
Propriedade especificada pelo desc
argumento
isxdigit
, iswxdigit
, _isxdigit_l
, _iswxdigit_l
Dígito hexadecimal
_mbclen
, mblen
, _mblen_l
Retornar o comprimento de caracteres multibyte válido; resultado depende da LC_CTYPE
configuração de categoria da localidade atual
Confira também
Rotinas de runtime C universais por categoria