Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Compara cadeias de caracteres usando informações específicas de localidade.
Importante
_mbsnicoll e _mbsnicoll_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 _strnicoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsnicoll(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count
);
int _mbsnicoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strnicoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsnicoll_l(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count,
_locale_t locale
);
int _mbsnicoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parâmetros
string1, string2
Cadeias de caracteres com encerramento nulo a serem comparadas
count
Número de caracteres a ser comparado
locale
A localidade a ser usada.
Valor retornado
Cada uma dessas funções retorna um valor que indica a relação das subcadeias de caracteres de string1 e string2, da seguinte maneira.
| Valor retornado | Relação da string1 com a string2 |
|---|---|
| < 0 | string1 é menor que string2 |
| 0 | string1 é idêntica a string2 |
| > 0 | string1 é maior que string2 |
Cada uma dessas funções retorna _NLSCMPERROR. Para usar _NLSCMPERROR, inclua STRING.H ou MBSTRING.H. _wcsnicoll 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, _wcsnicoll pode definir errno para EINVAL. Para verificar se há um erro em uma chamada para _wcsnicoll, defina errno como 0 e, em seguida, verifique errno depois de chamar _wcsnicoll.
Comentários
Cada uma dessas funções executa uma comparação não diferencia maiúsculas e minúsculas dos primeiros count caracteres em string1 e string2, de acordo com a página de código. Essas funções devem ser usadas somente quando há uma diferença entre a ordem do conjunto de caracteres e a ordem dos caracteres lexicográficos na página de código e essa diferença é de interesse para a comparação de strings. As versões dessas funções sem o sufixo _l usam a localidade atual e a página de código. As versões com o _l sufixo são idênticas, exceto que usam a localidade passada. Para obter mais informações, consulte Localidade.
Todas essas funções validam seus parâmetros. Se or string1 string2 for um ponteiro nulo ou se count for maior que INT_MAX, 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 |
|---|---|---|---|
_tcsncicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
Requisitos
| Rotina | Cabeçalho necessário |
|---|---|
_strnicoll, _strnicoll_l |
<string.h> |
_wcsnicoll, _wcsnicoll_l |
<wchar.h> ou <string.h> |
_mbsnicoll, _mbsnicoll_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