Partilhar via


_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, , _mbsncoll_l

Compara cadeias de caracteres usando informações específicas de localidade.

Importante

_mbsncoll e _mbsncoll_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 _strncoll(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsncoll(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsncoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strncoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsncoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsncoll_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 ser comparado.

locale
A localidade a ser usada.

Valor retornado

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

Valor retornado Relação de string1 com string2
< 0 string1 é menor que string2.
0 string1 é idêntico a string2.
> 0 string1 é maior que string2.

Cada uma dessas funções retorna _NLSCMPERROR. Para usar _NLSCMPERROR, inclua STRING.h ou MBSTRING.h. _wcsncoll pode falhar se string1 ou string2 contiverem códigos de caractere largo fora do domínio da sequência de agrupamento. Quando um erro ocorre, _wcsncoll pode definir errno para EINVAL. Para verificar se há um erro em uma chamada para _wcsncoll, defina errno como 0 e, em seguida, verifique errno após a _wcsncoll chamada.

Comentários

Cada uma dessas funções executa uma comparação que diferencia maiúsculas e minúsculas dos primeiros count caracteres em string1 e string2, de acordo com a página de código atualmente em uso. Use essas funções 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 quando essa diferença for importante para a comparação de cadeia de caracteres. A ordem do conjunto de caracteres é dependente de localidade. As versões dessas funções que não têm o _l sufixo usam a localidade atual, mas as versões que têm o _l sufixo usam a localidade que é 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 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
_tcsnccoll _strncoll _mbsncoll _wcsncoll
_tcsncoll _strncoll _mbsnbcoll _wcsncoll

Requisitos

Rotina Cabeçalho necessário
_strncoll, _strncoll_l <string.h>
_wcsncoll, _wcsncoll_l <wchar.h> ou <string.h>
_mbsncoll, _mbsncoll_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