Udostępnij za pośrednictwem


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Porównywania ciągów znaków przy użyciu bieżących ustawień regionalnych lub określonej kategorii Państwo konwersji LC_CTYPE.

Ważna uwagaWażne

_mbscolli _mbscoll_l 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 strcoll(
   const char *string1,
   const char *string2 
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale 
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale 
);
int _mbscoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale 
);

Parametry

  • string1, string2
    Zakończony zerem ciągów do porównania.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Każda z tych funkcji zwraca wartość określającą relację z string1 do string2*,* się następujące zmiany.

Zwracana wartość

Relacja ciąg1 do ciąg2

< 0

string1mniej niżstring2

0

string1identycznestring2

> 0

string1większa niżstring2

Każdej z tych funkcji zwraca _NLSCMPERROR na błąd.Aby użyć _NLSCMPERROR, to albo ciąg.H lub MBSTRING.H.wcscollmoże się nie powieść, jeśli każda string1 lub string2 ma wartość NULL lub zawiera kody szerokich znaków spoza domeny sekwencji sortowania.Gdy wystąpi błąd, wcscoll może ustalić errno do EINVAL.Aby sprawdzić, czy błąd w wywołaniu wcscoll, zestaw errno na 0, a następnie sprawdź errno po wywołaniu wcscoll.

Uwagi

Każda z tych funkcji wykonuje porównanie uwzględniające wielkość liter, z string1 i string2 zgodnie z obecnie używanej strony kodowej.Tych funkcji można używać tylko wtedy, gdy istnieje różnica między znak w porządku leksykograficznym znak w bieżącej strony kodowej i różnica ta ma znaczenie dla porównania ciągów.

Wszystkie te funkcje sprawdzania poprawności ich parametrów.Jeśli każda string1 lub string2 jest pusty wskaźnik, lub jeśli 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.

Porównania dwóch ciągów jest operacją zależne od ustawień lokalnych, ponieważ każdego ustawienia mają różne zasady do ustalania kolejności znaków.Wersje te funkcje, bez _l sufiks użyć bieżącego wątek tego zachowania zależne od ustawień lokalnych; wersje z _l sufiks są identyczne z odpowiednich funkcji bez przyrostka, chyba że używają ustawień regionalnych, przekazywana jako parametr zamiast bieżących ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rozpoczęto wykonywanie procedury h

_UNICODE & _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcscoll

strcoll

_mbscoll

wcscoll

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

strcoll

<string.h>

wcscoll

<wchar.h>, <string.h>

_mbscoll, _mbscoll_l

<mbstring.h>

_strcoll_l

<string.h>

_wcscoll_l

<wchar.h>, <string.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Odpowiednik w programie .NET Framework

System::String::COMPARE

Zobacz też

Informacje

Ustawienia regionalne

Manipulowanie ciągami (CRT)

Funkcje strcoll

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setLocale, _wsetlocale

strcmp, wcscmp, _mbscmp

_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l