Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Rotinas
Testa o valor inteiro dado c para uma determinada condição, usando a localidade atual ou uma categoria de estado de conversão LC_CTYPE especificada.
_ismbbalnum, _ismbbalnum_l
_ismbbalpha, _ismbbalpha_l
_ismbbblank, _ismbbblank_l
_ismbbgraph, _ismbbgraph_l
_ismbbkalnum, _ismbbkalnum_l
_ismbbkana, _ismbbkana_l
_ismbbkprint, _ismbbkprint_l
_ismbbkpunct, _ismbbkpunct_l
_ismbblead, _ismbblead_l
_ismbbprint, _ismbbprint_l
_ismbbpunct, _ismbbpunct_l
_ismbbtrail, _ismbbtrail_l
Comentários
Cada rotina na família _ismbb testa o valor inteiro dado c para uma determinada condição. O resultado do teste depende da página de código multibyte que está em vigor. Por padrão, a página de código multibyte é definida para a página de código ANSI obtida do sistema operacional na inicialização do programa. Você pode usar _getmbcp para consultar a página de código multibyte em uso ou _setmbcp para alterá-la.
O valor de saída é afetado pela configuração da categoria LC_CTYPE da localidade; confira setlocale e _wsetlocale para obter mais informações. As versões dessas funções que não têm o sufixo _l, usam a localidade atual para esse comportamento dependente de localidade; as versões com o sufixo_l são idênticas, exceto que, em vez disso, usam o parâmetro de localidade informado.
As rotinas na família _ismbb testam o inteiro dado c da seguinte maneira.
| Rotina | Condição de teste de byte |
|---|---|
_ismbbalnum |
isalnum(c) || _ismbbkalnum(c) |
_ismbbalpha |
isalpha(c) || _ismbbkalpha(c) |
_ismbbblank |
isblank(c) |
_ismbbgraph |
O mesmo que _ismbbprint, mas _ismbbgraph não inclui o caractere de espaço (0x20). |
_ismbbkalnum |
Símbolo de texto não ASCII que não seja de pontuação. Por exemplo, na página de código 932 somente, _ismbbkalnum testa se é um alfanumérico katakana |
_ismbbkana |
Katakana (0xA1 – 0xDF). Específico para a página de código 932 |
_ismbbkprint |
Texto não ASCII ou símbolo de pontuação não ASCII. Por exemplo, somente na página de código 932, _ismbbkprint testa se há pontuação katakana ou caracteres alfanuméricos katakana (intervalo: 0xA1 – 0xDF) |
_ismbbkpunct |
Pontuação não ASCII. Por exemplo, na página de código 932 somente, _ismbbkpunct testa se é uma pontuação katakana |
_ismbblead |
Byte inicial do caractere multibyte. Por exemplo, somente na página de código 932, os intervalos válidos são 0x81 a 0x9F e 0xE0 a 0xFC |
_ismbbprint |
isprint(c) || _ismbbkprint(c).
ismbbprint inclui o caractere de espaço (0x20) |
_ismbbpunct |
ispunct(c) || _ismbbkpunct(c). |
_ismbbtrail |
Segundo byte do caractere multibyte. Por exemplo, somente na página de código 932, os intervalos válidos são 0x40 a 0x7E e 0x80 a 0xEC |
A tabela a seguir mostra os valores combinados de | que compõem as condições de teste dessas rotinas. As constantes de manifesto _BLANK, _DIGIT, _LOWER, _PUNCT e _UPPER são definidas em ctype.h.
| Rotina | _BLANK |
_DIGIT |
LOWER |
_PUNCT |
UPPER |
Não ASCII enviar SMS |
Não ASCII pontuação |
|---|---|---|---|---|---|---|---|
_ismbbalnum |
— | x | x | — | x | x | — |
_ismbbalpha |
— | — | x | — | x | x | — |
_ismbbblank |
x | — | — | — | — | — | — |
_ismbbgraph |
— | x | x | x | x | x | x |
_ismbbkalnum |
— | — | — | — | — | x | — |
_ismbbkprint |
— | — | — | — | — | x | x |
_ismbbkpunct |
— | — | — | — | — | — | x |
_ismbbprint |
x | x | x | x | x | x | x |
_ismbbpunct |
— | — | — | x | — | — | x |
As rotinas _ismbb são implementadas como funções e macros. Para obter informações sobre como escolher a implementação, confira Recomendações para escolher entre funções e macros.
Confira também
Classificação de bytes
Rotinas is e isw
_mbbtombc, _mbbtombc_l
_mbctombb, _mbctombb_l