strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l
Compara cadeias de caracteres usando a localidade atual ou uma categoria especificada de conversão- estado de LC_COLLATE.
Importante
_mbscoll e _mbscoll_l não podem ser usados em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.
int strcoll(
const char *string1,
const char *string2
);
int wcscoll(
const wchar_t *string1,
const wchar_t *string2
);
int _mbscoll(
const unsigned char *string1,
const unsigned char *string2
);
int _strcoll_l(
const char *string1,
const char *string2,
_locale_t locale
);
int wcscoll_l(
const wchar_t *string1,
const wchar_t *string2,
_locale_t locale
);
int _mbscoll_l(
const unsigned char *string1,
const unsigned char *string2,
_locale_t locale
);
Parâmetros
string1, string2
Cadeias de caracteres terminadas com Null para comparação.locale
Localidade a ser usada.
Valor de retorno
Cada uma dessas funções retorna um valor que indica a relação de string1 com string2*,*, conforme a seguir
Valor de retorno |
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 em um erro. Para usar _NLSCMPERROR, inclua STRING.H ou MBSTRING.H. wcscoll pode falhar se string1 ou string2 for NULO ou contiver códigos de caracteres amplos fora do domínio da sequencia de agrupamento. Quando ocorre um erro, wcscoll pode definir errno como EINVAL. Para verificar se há um erro em uma chamada a wcscoll, defina errno para 0 e verifique errno após a chamada wcscoll.
Comentários
Cada uma dessas funções executa uma comparação que diferencia maiúsculas de minúsculas de string1 e de string2 de acordo com a página de código atualmente em uso. Essas funções devem ser usadas somente quando há uma diferença entre a ordem do conjunto de caracteres e a ordem de caracteres lexicográficos na página de código atual, e essa diferença é interessante para comparação de cadeia de caracteres.
Todas essas funções validam seus parâmetros. Se string1 ou string2 for um ponteiro nulo, ou se count for maior que INT_MAX, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação do parâmetro . Se a execução puder continuar, essas funções retornarão _NLSCMPERROR e definirão errno para EINVAL.
A comparação das duas cadeias de caracteres é uma operação dependente de local, visto que cada localidade tem diferentes regras para ordenar caracteres. As versões dessas funções sem o sufixo _l usam a localidade do thread atual para esse comportamento dependente de localidade; as versões com o sufixo _l são idênticas à função correspondente sem o sufixo, exceto pelo fato de que elas usam a localidade informada como um parâmetro, em vez da localidade atual. Para obter mais informações, consulte Localidade.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcscoll |
strcoll |
_mbscoll |
wcscoll |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
strcoll |
<string.h> |
wcscoll |
<wchar.h>, <string.h> |
_mbscoll, _mbscoll_l |
<mbstring.h> |
_strcoll_l |
<string.h> |
_wcscoll_l |
<wchar.h>, <string.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade.
Equivalência do .NET Framework
Consulte também
Referência
Manipulação da cadeia de caracteres (CRT)
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l