Compartilhar via


_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.

Observação importanteImportante

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

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_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)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

Funções de strcoll

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l