Compartilhar via


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

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

Importante

_mbsicoll e _mbsicoll_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 _stricoll(
   const char *string1,
   const char *string2 
);
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_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
    A 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

_NLSCMPERROR

Erro.

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

Comentários

Cada uma dessas funções executa uma comparação que não 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.

_stricmp difere de _stricoll nessa comparação de _stricmp que é afetada por LC_CTYPE, enquanto a comparação de _stricoll está de acordo com as categorias de LC_CTYPE e LC_COLLATE da localidade. Para obter mais informações sobre a categoria de LC_COLLATE , consulte setlocale e Categorias de localidade. As versões dessas funções sem o sufixo _l usam a localidade atual para esse comportamento dependente da localidade; as versões com o sufixo _l são idênticas, exceto que elas usam o parâmetro de localidade informado. Para obter mais informações, consulte Localidade.

Todas essas funções validam seus parâmetros. Se string1 ou string2 forem NULL ponteiros, o manipulador de parâmetro inválido será chamado, como 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.

Mapeamentos da rotina de texto genérico

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Requisitos

Rotina

Cabeçalho necessário

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

<wchar.h>, <string.h>

_mbsicoll, _mbsicoll_l

<mbstring.h>

Para informações adicionais de compatibilidade, consulte Compatibilidade.

Equivalência do .NET Framework

System::String::Compare

Consulte também

Referência

Localidade

Manipulação da cadeia 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