Aracılığıyla paylaş


strcoll işlevleri

ve wcscoll işlevlerinin strcoll her biri, şu anda kullanımda olan LC_COLLATE yerel ayar kodu sayfasının kategori ayarına göre iki dizeyi karşılaştırır. İşlevlerin _mbscoll her biri, kullanılmakta olan çok baytlı kod sayfasına göre iki dizeyi karşılaştırır. coll Karakter kümesi sırası ile karşılaştırmanın ilgi çekici olduğu durumlarda geçerli kod sayfasındaki sözcüksel karakter sırası arasında bir fark olduğunda dize karşılaştırmaları için işlevlerini kullanın. Yalnızca dize eşitliğini test etmek için karşılık gelen cmp işlevleri kullanın.

strcoll İşlevleri

SBCS Unicode MBCS Açıklama
strcoll wcscoll _mbscoll İki dizeyi harmanlama
_stricoll _wcsicoll _mbsicoll İki dizeyi harmanlama (büyük/küçük harfe duyarsız)
_strncoll _wcsncoll _mbsncoll İki dizenin ilk count karakterlerini harmanlama
_strnicoll _wcsnicoll _mbsnicoll İki dizenin ilk count karakterlerini harmanlama (büyük/küçük harfe duyarsız)

Açıklamalar

Bu işlevlerin (, , ve ) tek baytlık karakter (strcollSBCS) sürümleri, geçerli yerel ayarın LC_COLLATE kategori ayarına göre karşılaştırırstring1.string2 _strnicoll_strncollstricoll Bu işlevler, işlevlerin strcoll harmanlama dizileri sağlayan yerel ayar kodu sayfası bilgilerini kullanması bakımından ilgili strcmp işlevlerden farklıdır. Karakter kümesi sırasının ve sözcüksel karakter sırasının farklı olduğu yerel ayarlardaki dize karşılaştırmaları için, strcoll ilgili strcmp işlevler yerine işlevler kullanılmalıdır. hakkında LC_COLLATEdaha fazla bilgi için bkz setlocale. .

Bazı kod sayfaları ve buna karşılık gelen karakter kümeleri için karakter kümesindeki karakterlerin sırası sözcüksel karakter sırasına göre farklılık gösterebilir. "C" yerel ayarında durum böyle değildir: ASCII karakter kümesindeki karakterlerin sırası, karakterlerin sözcük düzeniyle aynıdır. Ancak, bazı Avrupa kod sayfalarında, örneğin, 'a' karakteri (değer 0x61) karakter kümesindeki 'ä' karakterinin (değer 0xE4) önüne, 'ä' karakteri ise sözcüksel olarak 'a' karakterinin önündedir. Böyle bir örnekte sözcüksel karşılaştırma gerçekleştirmek için yerine strcmpkullanınstrcoll. Alternatif olarak, özgün dizelerde kullanabilir strxfrm ve ardından sonuçta elde edilen dizelerde kullanabilirsiniz strcmp .

strcoll, stricoll, _strncollve _strnicoll çok baytlı dizeleri, geniş karakterli (Unicode) karşılıkları gibi, kullanılmakta olan yerel ayar kodu sayfasına göre otomatik olarak işler. Ancak bu işlevlerin çok baytlı (MBCS) sürümleri, şu anda kullanımda olan çok baytlı kod sayfasına göre dizeleri karakter temelinde harmanlar.

coll İşlevler karşılaştırma için dizeleri sözcüksel olarak harmanladığı için, cmp işlevler yalnızca dize eşitliğini test ettiğindencoll, işlevler ilgili cmp sürümlerden çok daha yavaştır. Bu nedenle coll , 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 kullanılmalıdır ve bu fark dize karşılaştırması için ilgi çekicidir.

Ayrıca bkz.

Yerel ayar
Dize işleme
localeconv
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
setlocale, _wsetlocale
strcmp, wcscmp, _mbscmp
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, , _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l