Share via


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Geçerli yerel ayarı veya belirtilen LC_COLLATE dönüştürme durumu kategorisini kullanarak dizeleri karşılaştırır.

Önemli

_mbscollve _mbscoll_l Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

Sözdizimi

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

Parametreler

string1, string2
Karşılaştırmak için null olarak sonlandırılan dizeler.

locale
Kullanılacak yerel ayar.

Dönüş değeri

Bu işlevlerin her biri, ile ilişkisini string1string2gösteren bir değer döndürür.

Dönüş değeri string1 ile ilişkisistring2
< 0 string1 küçüktür string2
0 string1 özdeş string2
> 0 string1 büyüktür string2

Bu işlevlerin her biri bir hata döndürür _NLSCMPERROR . kullanmak _NLSCMPERRORiçin DIZE'yi ekleyin. H veya MBSTRING.H. wcscoll , harmanlama dizisinin etki alanının dışında geniş karakter kodları içeriyorsa veya varsa string1string2NULL başarısız olabilir. Bir hata oluştuğunda olarak wcscoll ayarlanabilir errnoEINVAL. çağrısında wcscollhata olup olmadığını denetlemek için 0 olarak ayarlayın errno ve çağrısı wcscollyaptıktan sonra denetleyinerrno.

Açıklamalar

Bu işlevlerin her biri, kullanımda olan kod sayfasına göre ve string2 büyük/küçük harfe duyarlı bir karşılaştırma string1 gerçekleştirir. Bu işlevler yalnızca geçerli kod sayfasındaki karakter kümesi sırası ile sözcüksel karakter sırası arasında bir fark olduğunda ve bu fark dize karşılaştırması için ilgi çekici olduğunda kullanılmalıdır.

Bu işlevlerin tümü parametrelerini doğrular. string1 veya string2 null işaretçiyse veya değerinden INT_MAXbüyüksecount, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler döndürülerek _NLSCMPERROR olarak EINVALayarlanırerrno.

Her yerel ayarın karakter sıralamak için farklı kuralları olduğundan, iki dizenin karşılaştırması yerel ayara bağımlı bir işlemdir. Bu işlevlerin son eki olmayan _l sürümleri, bu yerel ayara bağımlı davranış için geçerli iş parçacığının yerel ayarını kullanır; son eki olan _l sürümler, geçerli yerel ayar yerine parametre olarak geçirilen yerel ayarı kullanmaları dışında, sonek olmadan ilgili işlevle aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

TCHAR.H yordamı _UNICODE ve _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_tcscoll strcoll _mbscoll wcscoll

Gereksinimler

Yordam Gerekli başlık
strcoll <string.h>
wcscoll <wchar.h>, <string.h>
_mbscoll, _mbscoll_l <mbstring.h>
_strcoll_l <string.h>
_wcscoll_l <wchar.h>, <string.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Yerel ayar
Dize işleme
strcoll işlevleri
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