_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