Partilhar via


_mbsnbicmp, _mbsnbicmp_l

Compara n bytes de duas cadeias de caracteres multibyte e ignora as maiúsculas e minúsculas.

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 _mbsnbicmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);

Parâmetros

string1, string2
Cadeias de caracteres com terminação nula.

count
Número de bytes a serem comparados.

Valor retornado

O valor retornado indica a relação entre as subcadeias de caracteres.

Valor retornado Descrição
< 0 Subcadeia de caracteres string1 menor do que a subcadeia de caracteres string2.
0 Subcadeia de caracteres string1 idêntica à subcadeia de caracteres string2.
> 0 Subcadeia de caracteres string1 maior que a subcadeia de caracteres string2.

Em um erro, _mbsnbicmp retorna _NLSCMPERROR, que é definido em String.h e Mbstring.h.

Comentários

A função _mbsnbicmp executa uma comparação ordinal de no máximo os primeiros count bytes de string1 e string2. A comparação é executada convertendo cada caractere em minúscula, _mbsnbcmp é a versão que diferencia maiúsculas e minúsculas de _mbsnbicmp. A comparação termina se um caractere nulo de terminação é atingido em qualquer cadeia de caracteres antes dos count caracteres serem comparados. Se as cadeias de caracteres forem iguais quando um caractere nulo de terminação for atingido em qualquer cadeia de caracteres antes dos count caracteres serem comparados, a cadeia de caracteres mais curta será menor.

_mbsnbicmp é semelhante a _mbsnbcmp, exceto que ela compara cadeias de caracteres de até count bytes em vez de por caracteres.

Duas cadeias de caracteres que contêm caracteres localizados entre "Z" e "a" na tabela ASCII ("[", "\", "]", "^", "_" e "`") são comparadas de modo diferente, dependendo das maiúsculas e minúsculas delas. Por exemplo, as duas cadeias de caracteres "ABCDE" e "ABCD^" se comparam de uma maneira se a comparação for minúscula ("abcde" > "abcd^") e da outra maneira ("ABCDE" < "ABCD^") se for maiúscula.

_mbsnbicmp reconhece sequências de caracteres multibyte de acordo com a página de código multibyte atualmente em uso. Ele não é afetado pela configuração de localidade atual.

Se for string1 string2 um ponteiro nulo, invocará o manipulador de parâmetro inválido, _mbsnbicmp conforme descrito em Validação de parâmetro. Se a execução puder continuar, a função retornará _NLSCMPERROR e definirá errno como EINVAL.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Mapeamentos de rotina de texto genérico

Rotina Tchar.h _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsnicmp_l _strnicmp_l _mbsnbicmp_l _wcsnicmp_l

Requisitos

Rotina Cabeçalho necessário
_mbsnbicmp <mbstring.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Confira o exemplo de _mbsnbcmp, _mbsnbcmp_l.

Confira também

Manipulação de cadeia de caracteres
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, , _mbsicmp_l