strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l
comparar cadeias de caracteres usando a localidade corrente ou a uma categoria de estado de conversão LC_CTYPE especificada.
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
Seqüências de terminação nula para comparar.locale
Localidade usar.
Valor de retorno
Cada uma dessas funções retorna um valor que indica a relação de string1 para string2*,* sistema autônomo a seguir.
Valor de Retorno |
Relação de seqüência1 para seqüência2 |
---|---|
< 0 |
string1 menor que string2 |
0 |
string1 idêntico a string2 |
> 0 |
string1 maior que string2 |
Cada uma dessas funções retornará _NLSCMPERROR em um erro. Para usar _NLSCMPERROR, incluir STRING.H ou MBSTRING.H. wcscoll pode falhar se qualquer uma string1 ou string2 é nulo ou contém códigos de caractere largo fora do domínio da sequência de agrupamento. Quando ocorre um erro, wcscoll pode conjunto errno para EINVAL. Para verificar se há um erro em uma telefonar para wcscoll, definido errno como 0 e, em seguida, verificar errno Após a telefonar wcscoll.
Comentários
Cada uma dessas funções efetua uma comparação diferenciando diferenciar maiúsculas de minúsculas de string1 e string2 de acordo com para a página de código atualmente em uso. Essas funções devem ser usadas somente quando há uma diferença entre o caractere conjunto ordem e a ordem de caractere lexicographic na página de código corrente e essa diferença é de interesse para a comparação de cadeia de caracteres de caracteres.
Todas essas funções validar seus parâmetros.Se qualquer um dos string1 ou string2 é um ponteiro nulo, ou se count é maior que INT_MAX, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro . Se a execução for permitida para continuar, essas funções retornam _NLSCMPERROR e conjunto errno para EINVAL.
A comparação entre as duas seqüências de caracteres é uma operação dependente de localidade, já que cada localidade tem regras diferentes para pedidos caracteres.sistema autônomo versões dessas funções sem o _l uso de sufixo de localidade do thread corrente para esse comportamento dependente de localidade; sistema autônomo versões com o _l sufixo são idênticos a função sem o sufixo correspondente, exceto pelo fato de que eles usam a localidade do passado sistema autônomo um parâmetro em vez da localidade corrente. For more information, see Localidade.
Mapeamentos de rotina de texto genérica
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 obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Equivalente do NET Framework
Consulte também
Referência
Manipulação de seqüência 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