Share via


_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.

Retornar valor

Cada uma dessas funções retorna um valor que indica a relação das subcadeias de caracteres de string1 e string2, da seguinte maneira.

Retornar valor 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 houver 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 for de interesse para a comparação da cadeia de caracteres. 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 sufixo são idênticas, _l exceto que elas usam a localidade passada em vez disso. Para obter mais informações, consulte Localidade.

Todas essas funções validam seus parâmetros. Se ou string1string2 for um ponteiro nulo, ou se a contagem for maior que INT_MAX, o manipulador de parâmetros inválido será chamado, 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, consulte Estado global na 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