_strnicoll
, _wcsnicoll
, _mbsnicoll
, _strnicoll_l
, _wcsnicoll_l
, , _mbsnicoll_l
Compara cadeias de caracteres usando informações específicas de localidade.
Importante
_mbsnicoll
e _mbsnicoll_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 _strnicoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsnicoll(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count
);
int _mbsnicoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strnicoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsnicoll_l(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count,
_locale_t locale
);
int _mbsnicoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parâmetros
string1
, string2
Cadeias de caracteres com encerramento nulo a serem comparadas
count
Número de caracteres a ser comparado
locale
A localidade a ser usada.
Valor retornado
Cada uma dessas funções retorna um valor que indica a relação das subcadeias de caracteres de string1
e string2
, da seguinte maneira.
Valor retornado | Relação da string1 com a string2 |
---|---|
< 0 | string1 é menor que string2 |
0 | string1 é idêntica a string2 |
> 0 | string1 é maior que string2 |
Cada uma dessas funções retorna _NLSCMPERROR
. Para usar _NLSCMPERROR
, inclua STRING.H ou MBSTRING.H. _wcsnicoll
pode falhar se string1
ou string2
contém códigos de caractere largo fora do domínio da sequência de agrupamento. Quando um erro ocorre, _wcsnicoll
pode definir errno
para EINVAL
. Para verificar se há um erro em uma chamada para _wcsnicoll
, defina errno
como 0 e, em seguida, verifique errno
depois de chamar _wcsnicoll
.
Comentários
Cada uma dessas funções executa uma comparação não diferencia maiúsculas e minúsculas dos primeiros count
caracteres em string1
e string2
, de acordo com a página de código. Essas funções devem ser usadas somente quando há uma diferença entre a ordem do conjunto de caracteres e a ordem dos caracteres lexicográficos na página de código e essa diferença é de interesse para a comparação de strings. As versões dessas funções sem o sufixo _l
usam a localidade atual e a página de código. As versões com o _l
sufixo são idênticas, exceto que usam a localidade passada. Para obter mais informações, consulte Localidade.
Todas essas funções validam seus parâmetros. Se or string1
string2
for um ponteiro nulo ou se count for maior que INT_MAX
, 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 |
---|---|---|---|
_tcsncicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_strnicoll , _strnicoll_l |
<string.h> |
_wcsnicoll , _wcsnicoll_l |
<wchar.h> ou <string.h> |
_mbsnicoll , _mbsnicoll_l |
<mbstring.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Confira também
Localidade
Manipulação de cadeia de caracteres
Funções strcoll
localeconv
_mbsnbcoll
, _mbsnbcoll_l
, _mbsnbicoll
, _mbsnbicoll_l
setlocale
, _wsetlocale
strcmp
, wcscmp
, _mbscmp
_stricmp
, _wcsicmp
, _mbsicmp
, _stricmp_l
, _wcsicmp_l
, , _mbsicmp_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, , _mbsnicmp_l
strxfrm
, wcsxfrm
, _strxfrm_l
, _wcsxfrm_l