Partilhar via


_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, , _mbsnicmp_l

Compara o número especificado de caracteres de duas cadeias de caracteres sem considerar o caso.

Importante

_mbsnicmp e _mbsnicmp_l não podem ser usados 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 _strnicmp(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsnicmp(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsnicmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strnicmp_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicmp_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsnicmp_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parâmetros

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

count
O número de caracteres a serem comparados.

locale
Localidade a usar.

Valor retornado

Indica a relação entre as subcadeias de caracteres, da seguinte maneira.

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

Em um erro de validação de parâmetro, essas funções retornam _NLSCMPERROR, que é definido em <string.h> e <mbstring.h>.

Comentários

A _strnicmp função compara, no máximo, os primeiros count caracteres de string1 e string2. A comparação é executada independentemente do caso, convertendo cada caractere em minúsculas. _strnicmp é uma versão que não diferencia maiúsculas e minúsculas de strncmp. 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.

Os caracteres de 91 a 96 na tabela ASCII ('[', '\', ']', '^', '_' e '`') avaliam como menor do que qualquer caractere alfabético. Essa classificação é idêntica ao do stricmp.

_wcsnicmp e _mbsnicmp são versões de caracteres largos e de caracteres multibyte de _strnicmp. Os argumentos de _wcsnicmp são cadeias de caracteres largos. Os argumentos de _mbsnicmp são cadeias de caracteres multibyte. _mbsnicmp reconhece sequências de caracteres multibyte de acordo com a página de código multibyte atual e retorna _NLSCMPERROR em um erro. Para obter mais informações, consulte Páginas de código. Caso contrário, essas três funções se comportam de forma idêntica. Essas funções são afetadas pela configuração de localidade – as versões que não têm o sufixo _l usam a localidade atual para esse comportamento dependente de localidade; e as versões que têm o sufixo _l, ao invés disso, usam o locale informado. Para obter mais informações, consulte Localidade.

Todas essas funções validam seus parâmetros. Se um ou string2 string1 for um ponteiro nulo, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essas funções retornarão _NLSCMPERROR e definirão errno para 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
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Requisitos

Rotina Cabeçalho necessário
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> ou <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

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

Exemplo

Confira o exemplo de strncmp.

Confira também

Manipulação de cadeia de caracteres
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, , _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, , _mbsncpy_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, , _mbsset_l
strspn, wcsspn, _mbsspn, _mbsspn_l