Compartilhar via


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

sistema::String::comparar

Consulte também

Referência

Localidade

Manipulação de seqüência de caracteres (CRT)

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