Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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