_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l
Compara as cadeias de caracteres usando informações específicas da localidade.
Importante
_mbsncoll e _mbsncoll_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 _strncoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsncoll(
const wchar_t *string1,
const wchar_t *string2,
size_t count
);
int _mbsncoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strncoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsncoll_l(
const wchar_t *string1,
const wchar_t *string2,
size_t count,
_locale_t locale
);
int _mbsncoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parâmetros
string1, string2
Cadeias de caracteres terminadas com Null para comparação.count
O número de caracteres a ser comparado.locale
A localidade a ser usada.
Valor de retorno
Cada uma dessas funções retorna um valor que indica a relação de subcadeia de caracteres de string1 e de string2, como 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. |
Cada uma dessas funções retorna _NLSCMPERROR. Para usar _NLSCMPERROR, inclua STRING.h ou MBSTRING.h. _wcsncoll pode falhar se string1 ou string2 contêm códigos ampla de caracteres que estão fora do domínio da sequência de agrupamento. Quando ocorre um erro, _wcsncoll pode definir errno como EINVAL. Para verificar se há um erro em uma chamada para _wcsncoll, defina errno a 0 e depois errno depois de chamar _wcsncoll.
Comentários
Cada uma dessas funções executa uma comparação com diferenciação de maiúsculas e minúsculas dos primeiros caracteres de count em string1 e em string2, de acordo com a página de código que está atualmente em uso. Use essas funções apenas quando há uma diferença entre a ordem do conjunto de caracteres e ordem lexicographic de caractere na página de código, e quando essa diferença é interessante para a comparação de cadeia de caracteres. A ordem do conjunto de caracteres é dependente de localidade. As versões dessas funções que não têm o uso do sufixo de _l a localidade atual, mas as versões com o uso do sufixo de _l a localidade que é passada. Para obter mais informações, consulte Localidade.
Todas essas funções validam seus parâmetros. Se string1 ou string2 for um ponteiro nulo, ou count é maior que INT_MAX, o manipulador inválido do parâmetro será chamado, conforme 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 |
---|---|---|---|
_tcsnccoll |
_strncoll |
_mbsncoll |
_wcsncoll |
_tcsncoll |
_strncoll |
_wcsncoll |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_strncoll, _strncoll_l |
<string.h> |
_wcsncoll, _wcsncoll_l |
<wchar.h> ou <string.h> |
_mbsncoll, _mbsncoll_l |
<mbstring.h> |
Para obter informações adicionais sobre compatibilidade, consulte Compatibilidade.
Equivalência do .NET Framework
Consulte também
Referência
Manipulação da cadeia 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