Udostępnij za pośrednictwem


_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Porównuje n bajtów dwa ciągi znaków wielobajtowych, przy użyciu kodu wielobajtowych strony informacji.

Ważna uwagaWażne

Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /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
);

Parametry

  • string1, string2
    Ciągi znaków do porównania.

  • count
    Liczba bajtów do porównania.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Wartość zwracana określa relację podciągów z string1 i string2.

Zwracana wartość

Opis

< 0

string1podciąg mniej niż string2 podciągu.

0

string1podciąg identyczne z string2 podciągu.

> 0

string1podciąg większa niż string2 podciągu.

Jeśli string1 lub string2 jest NULL lub count jest większa niż INT_MAX, program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje te zwracają _NLSCMPERROR i errno do EINVAL.Aby użyć _NLSCMPERROR, String.h lub Mbstring.h.

Uwagi

Każda z tych funkcji posortuje, co najwyżej pierwszy count bajtów w string1 i string2 i zwraca wartość określającą relację między wynikowy podciągów string1 i string2.Jeżeli końcowy bajt w podciąg string1 lub string2 jest wiodącego bajtu, nie znajduje się w porównaniu; tych funkcji należy porównać tylko całe znaki w podciągów._mbsnbicolljest ona rozróżniana wielkość liter do _mbsnbcoll.Jak _mbsnbcmp i _mbsnbicmp, _mbsnbcoll i _mbsnbicoll porównuje dwa ciągi znaków wielobajtowych w leksykograficznych kolejności określonej przez wielobajtowe Strona kodowa aktualnie w użyciu.

Dla niektórych stron kodowych i odpowiednich zestawów znaków kolejność znaków w zestawie znaków może się różnić od kolejność znaków leksykograficznych.W ustawieniach regionalnych "C", to się nie stanie: kolejność znaków w zestawie znaków ASCII jest taka sama jak kolejność leksykograficznych znaków.Jednak na niektórych stronach Europejskiego kodu dróg, na przykład, znak wartość "" (0x61) poprzedza znak "ä" (0xE4) w postaci wartość, lecz postać "ä" poprzedza znak '' leksykograficznym.Aby przeprowadzić leksykograficznych porównania ciągów bajtów w takim przypadku, należy użyć _mbsnbcoll a nie _mbsnbcmp; Aby sprawdzić, czy tylko ciąg znaków równości, należy użyć _mbsnbcmp.

Ponieważ coll funkcje zestawia ciągów leksykograficznym dla porównania, podczas gdy cmp funkcji po prostu test dla równości string, coll funkcje są znacznie wolniej niż odpowiadająca cmp wersje.W związku z tym coll funkcji należy używać tylko wtedy, gdy istnieje różnica między kolejnością zestaw znaków i kolejność znaków leksykograficznych w bieżącej strony kodowej i ta różnica leży w interesie do porównania.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale Aby uzyskać więcej informacji.Wersje te funkcje, bez _l sufiks Użyj bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; wersje z _l sufiks są identyczne z tym, że używają zamiast przekazany parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_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

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_mbsnbcoll

<mbstring.h>

_mbsnbcoll_l

<mbstring.h>

_mbsnbicoll

<mbstring.h>

_mbsnbicoll_l

<mbstring.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

Funkcje strcoll

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l