Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Porównuje bajty n
dwóch ciągów wielobajtowych przy użyciu wielobajtowych informacji o stronie kodowej.
Ważne
Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
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 do porównania.
count
Liczba bajtów do porównania.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Wartość zwracana wskazuje relację podciągów i string1
string2
.
Wartość zwracana | opis |
---|---|
< 0 | string1 podciąg mniej niż string2 podciąg. |
0 | string1 podciąg identyczny z string2 podciągem. |
> 0 | string1 podciąg większy niż string2 podciąg. |
Jeśli string1
element lub string2
jest count
NULL
większy niż INT_MAX
, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie jest dozwolone do kontynuowania, te funkcje zwracają _NLSCMPERROR
i ustawiają wartość errno
EINVAL
. Aby użyć _NLSCMPERROR
polecenia , dołącz ciąg.h lub Mbstring.h.
Uwagi
Każda z tych funkcji co najwyżej sortuje pierwsze count
bajty w string1
i string2
zwraca wartość wskazującą relację między wynikowymi podciągami string1
i string2
. Jeśli ostatni bajt w podciągu lub string2
jest bajtem ołowiustring1
, nie jest uwzględniony w porównaniu; te funkcje porównują tylko pełne znaki w podciągach. _mbsnbicoll
jest wersją bez uwzględniania wielkości liter w pliku _mbsnbcoll
. Podobnie jak _mbsnbcmp
i _mbsnbicmp
, _mbsnbcoll
i _mbsnbicoll
sortuj dwa ciągi wielobajtowe zgodnie z kolejnością leksykograficzną określoną przez aktualnie używaną stronę kodową wielobajtową.
W przypadku niektórych stron kodu i odpowiadających im zestawów znaków kolejność znaków w zestawie znaków może się różnić od kolejności znaków leksykograficznej. W ustawieniach regionalnych "C" kolejność znaków w zestawie znaków ASCII jest taka sama jak kolejność leksykograficzna znaków. Jednak na niektórych stronach kodu europejskiego, na przykład znak "a" (wartość 0x61) poprzedza znak "ä" (wartość 0xE4) w zestawie znaków, ale znak "ä" poprzedza znak "a" leksykograficznie. Aby wykonać porównanie leksykograficzne ciągów według bajtów w takim wystąpieniu, użyj polecenia _mbsnbcoll
zamiast _mbsnbcmp
; aby sprawdzić tylko pod kątem równości ciągów, użyj polecenia _mbsnbcmp
.
coll
Ponieważ funkcje sortują ciągi leksykograficznie w celu porównania, podczas gdy cmp
funkcje po prostu testują równość ciągów, coll
funkcje są znacznie wolniejsze niż odpowiednie cmp
wersje. Dlatego funkcje powinny być używane tylko wtedy, coll
gdy istnieje różnica między kolejnością zestawu znaków a kolejnością znaków leksykograficznej na bieżącej stronie kodowej, a ta różnica jest interesująca dla porównania.
Na wartość wyjściową ma wpływ ustawienie LC_CTYPE
ustawienia kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz setlocale
. Wersje tych funkcji bez sufiksu _l
używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych. Wersje z _l
sufiksem są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania procedur tekstu ogólnego
Procedura tchar.h | _UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsncoll |
_strncoll |
_mbsnbcoll |
_wcsncoll |
_tcsncoll_l |
_strncoll_l |
_mbsnbcoll_l |
_wcsncoll_l |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Manipulowanie ciągami
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_mbsnbicmp
, _mbsnbicmp_l
strcoll
, funkcje
strncmp
, , wcsncmp
, , _mbsncmp
_mbsncmp_l
_strnicmp
, , _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, , _wcsnicmp_l
_mbsnicmp_l