_stricoll
, _wcsicoll
, _mbsicoll
, _stricoll_l
, _wcsicoll_l
, , _mbsicoll_l
Compara cadeias de caracteres usando informações específicas de localidade.
Importante
_mbsicoll
e _mbsicoll_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 _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 com terminação nula.
locale
A localidade a ser usada.
Valor retornado
Cada uma dessas funções retorna um valor que indica a relação de string1
com , string2
da seguinte maneira.
Valor retornado | Relação de string1 com string2 |
---|---|
< 0 | string1 é menor que string2 |
0 | string1 é idêntica a string2 |
> 0 | string1 é maior que string2 |
_NLSCMPERROR |
Ocorreu um erro. |
Cada uma dessas funções retorna _NLSCMPERROR
. Para usar _NLSCMPERROR
o , inclua <string.h> ou <mbstring.h>. _wcsicoll
pode falhar se string1
ou string2
contém códigos de caractere largo fora do domínio da sequência de agrupamento. Quando um erro ocorre, _wcsicoll
pode definir errno
para EINVAL
. Para verificar se há um erro em uma chamada para _wcsicoll
, defina errno
como 0 e, em seguida, verifique errno
depois de chamar _wcsicoll
.
Comentários
Cada uma dessas funções executa uma comparação que não diferencia maiúsculas e minúsculas de string1
e string2
, de acordo com a página de código atualmente em uso. Essas funções devem ser usadas 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 atual e essa diferença for de interesse para a comparação de strings.
_stricmp
difere de _stricoll
quando a comparação de _stricmp
é afetada por LC_CTYPE
, enquanto a comparação de _stricoll
está de acordo com as categorias LC_CTYPE
e LC_COLLATE
da localidade. Para obter mais informações sobre a LC_COLLATE
categoria, consulte setlocale
Categorias de localidade. As versões dessas funções sem o sufixo _l
usam a localidade atual; as versões com o sufixo _l
são idênticas, exceto por usarem a localidade passada. Para obter mais informações, consulte Localidade.
Todas essas funções validam seus parâmetros. Se ou string1
string2
forem NULL
ponteiros, 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 |
---|---|---|---|
_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 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