Compartilhar via


Rotinas _ismbb

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.

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
text
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