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.
_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 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