_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