_mbsbtype
, _mbsbtype_l
Retorna o tipo de byte em uma cadeia de caracteres.
Importante
Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.
Sintaxe
int _mbsbtype(
const unsigned char *mbstr,
size_t count
);
int _mbsbtype_l(
const unsigned char *mbstr,
size_t count,
_locale_t locale
);
Parâmetros
mbstr
Endereço de uma sequência de caracteres multibyte.
count
Deslocamento do byte do início da cadeia de caracteres.
locale
Localidade a usar.
Valor retornado
_mbsbtype
e _mbsbtype_l
retorna um valor inteiro indicando o resultado do teste no byte especificado. As constantes de manifesto na tabela a seguir são definidas em Mbctype.h.
Valor retornado | Tipo de byte |
---|---|
_MBC_SINGLE (0) |
Caractere de um byte. Por exemplo, na página de código 932, _mbsbtype retorna 0 se o byte especificado estiver dentro do intervalo 0x20 - 0x7E ou 0xA1 - 0xDF. |
_MBC_LEAD (1) |
Byte inicial do caractere multibyte. Por exemplo, na página de código 932, _mbsbtype retorna 1 se o byte especificado estiver dentro do intervalo 0x81 - 0x9F ou 0xE0 - 0xFC. |
_MBC_TRAIL (2) |
Byte à direita do caractere multibyte. Por exemplo, na página de código 932, _mbsbtype retorna 2 se o byte especificado estiver dentro do intervalo 0x40 - 0x7E ou 0x80 - 0xFC. |
_MBC_ILLEGAL (-1) |
NULL string, caractere inválido ou byte nulo encontrado antes do byte no deslocamento count em mbstr . |
Comentários
A função _mbsbtype
determina o tipo de um byte em uma cadeia de caracteres multibyte. A função examina somente os bytes no deslocamento count
no mbstr
, ignorando os caracteres inválidos antes do byte especificado.
O valor de saída é afetado pela configuração da categoria LC_CTYPE
da localidade. Para obter mais informações, consulte setlocale
. A versão dessa função sem o sufixo _l
usa a localidade atual desse comportamento dependente da localidade. A versão com o sufixo _l
é idêntica, exceto por usar o parâmetro de localidade passado em seu lugar. Para obter mais informações, consulte Localidade.
Se a cadeia de caracteres de entrada for NULL
, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, errno
será definido como EINVAL
e a função retornará _MBC_ILLEGAL
.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
Rotina | Cabeçalho necessário | Cabeçalho opcional |
---|---|---|
_mbsbtype |
<mbstring.h> | <mbctype.h>* |
_mbsbtype_l |
<mbstring.h> | <mbctype.h>* |
*Para constantes de manifesto usadas como valores retornados.
Para obter informações sobre compatibilidade, consulte Compatibilidade.