_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
Compara bytes de n de duas cadeias de caracteres de multibyte- caracteres usando informações da página de código de multibyte.
Importante |
---|
Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW. |
int _mbsnbcoll( const unsigned char *string1, const unsigned char *string2, size_t count ); int _mbsnbcoll_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale ); int _mbsnbicoll( const unsigned char *string1, const unsigned char *string2, size_t count ); int _mbsnbicoll_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale );
Parâmetros
string1, string2
Cadeias de caracteres para comparar.count
Número de bytes para comparar.locale
A localidade usar.
Valor de retorno
O valor de retorno indica a relação entre as subcadeias de caracteres de string1 e de string2.
Valor de Retorno |
Descrição |
---|---|
< 0 |
subcadeia de caracteres destring1 menos da subcadeia de caracteres de string2 . |
0 |
subcadeia de caracteres destring1 idêntica à subcadeia de caracteres de string2 . |
> 0 |
subcadeia de caracteres destring1 maior do que a subcadeia de caracteres de string2 . |
Se string1 ou string2 são NULL ou count é maior do que INT_MAX, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, essas funções _NLSCMPERROR de retorno e errno defina a EINVAL.Para usar _NLSCMPERROR, inclua String.h ou Mbstring.h.
Comentários
Cada uma dessas funções que, no máximo, os primeiros bytes de count em string1 e em string2 e retorna um valor que indica a relação entre as subcadeias de caracteres resultantes de string1 e string2.Se o byte final a subcadeia de caracteres de string1 ou de string2 é um byte inicial, não é incluído na comparação; essas funções comparam apenas caracteres completas nas subcadeias de caracteres._mbsnbicoll é uma versão sem diferenciação de maiúsculas e minúsculas de _mbsnbcoll.Como _mbsnbcmp e _mbsnbicmp, _mbsnbcoll e _mbsnbicoll pedir as duas cadeias de caracteres de multibyte- caractere de acordo com a ordem lexicographic especificado pelo multibyte página de código atualmente em uso.
Para alguns páginas de código e conjuntos de caracteres correspondentes, a ordem de caracteres no conjunto de caracteres pode ser diferentes de ordem lexicographic de caracteres.Na localidade de “C”, este é não os casos: a ordem de caracteres no conjunto de caracteres ASCII é o mesmo que a ordem lexicographic de caracteres.No entanto, em determinadas páginas de código europeias, por exemplo, o caractere “a” (valor 0x61) antes do caractere “ä” (valor 0xE4) no conjunto de caracteres, mas o caractere “ä” preceda o caractere “a” lexicographically.Para realizar uma comparação lexicographic de cadeias de caracteres em bytes em uma instância, use _mbsnbcoll em vez de _mbsnbcmp; para verificar somente a existência de igualdade de cadeia de caracteres, use _mbsnbcmp.
Como as funções de coll pedir cadeias de caracteres lexicographically para comparação, enquanto cmp de funções do teste simplesmente para igualdade de cadeia de caracteres, as funções de coll é muito mais lento do que as versões de cmp correspondentes.Como consequência, as funções de coll devem ser usadas somente quando há uma diferença entre ordem do conjunto de caracteres e ordem lexicographic de caracteres na página de código atual e essa diferença é de interesse para comparação.
O valor de saída é afetado pela configuração da categoria de LC_CTYPE de localidade; consulte setlocale para mais informações.As versões dessas funções sem o sufixo de _l usam a localidade atual para este comportamento de são dependentes; as versões com o sufixo de _l são idênticas exceto que usam o parâmetro de localidade passado em vez disso.Para obter mais informações, consulte Localidade.
Mapeamentos da rotina de Genérico- texto
Rotina de Tchar.h |
_UNICODE e não definidos _MBCS |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsncoll |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
Para mais informações, consulte Compatibilidade de compatibilidade na introdução.
Consulte também
Referência
Manipulação de cadeia de caracteres (CRT)
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l