Bagikan melalui


Fungsi strcoll

strcoll Masing-masing fungsi dan wcscoll membandingkan dua string sesuai dengan LC_COLLATE pengaturan kategori halaman kode lokal yang saat ini digunakan. Masing-masing fungsi membandingkan _mbscoll dua string sesuai dengan halaman kode multibyte yang saat ini digunakan. coll Gunakan fungsi untuk perbandingan string ketika ada perbedaan antara urutan set karakter dan urutan karakter leksikografis di halaman kode saat ini jika perbedaannya menarik untuk perbandingan. Gunakan fungsi yang cmp sesuai untuk menguji hanya untuk kesetaraan string.

Fungsi strcoll

SBCS Unicode MBCS Deskripsi
strcoll wcscoll _mbscoll Menyusun dua string
_stricoll _wcsicoll _mbsicoll Menyusun dua string (tidak peka huruf besar/kecil)
_strncoll _wcsncoll _mbsncoll Menyusun karakter pertama count dari dua string
_strnicoll _wcsnicoll _mbsnicoll Menyusun karakter pertama count dari dua string (tidak peka huruf besar/kecil)

Keterangan

Versi karakter byte tunggal (SBCS) dari fungsi-fungsi ini (strcoll, , stricoll_strncoll, dan _strnicoll) membandingkan string1 dan string2 sesuai dengan LC_COLLATE pengaturan kategori lokal saat ini. Fungsi-fungsi ini berbeda dari fungsi yang strcoll sesuai strcmp karena fungsi menggunakan informasi halaman kode lokal yang menyediakan urutan penyatuan. Untuk perbandingan string dalam lokal di mana urutan set karakter dan urutan karakter leksikografis berbeda, strcoll fungsi harus digunakan daripada fungsi yang strcmp sesuai. Untuk informasi selengkapnya tentang LC_COLLATE, lihat setlocale.

Untuk beberapa halaman kode dan set karakter yang sesuai, urutan karakter dalam kumpulan karakter mungkin berbeda dari urutan karakter leksikografis. Dalam lokal "C", bukan itu masalahnya: urutan karakter dalam set karakter ASCII sama dengan urutan leksikografis karakter. Namun, di halaman kode Eropa tertentu, misalnya, karakter 'a' (nilai 0x61) mendahului karakter 'ä' (nilai 0xE4) dalam set karakter, tetapi karakter 'ä' mendahului karakter 'a' secara leksikografis. Untuk melakukan perbandingan leksikografis dalam instans seperti itu, gunakan strcoll alih-alih strcmp. Atau, Anda dapat menggunakan strxfrm pada string asli, lalu menggunakan strcmp pada string yang dihasilkan.

strcoll, , stricoll_strncoll, dan _strnicoll secara otomatis menangani string multibyte-character sesuai dengan halaman kode lokal yang saat ini digunakan, seperti halnya rekan karakter lebar (Unicode) mereka. Versi multibyte-character (MBCS) dari fungsi-fungsi ini, namun, menyusun string berdasarkan karakter sesuai dengan halaman kode multibyte yang saat ini digunakan.

coll Karena fungsi menyusun string secara leksikografis untuk perbandingan, sedangkan cmp fungsi hanya menguji kesetaraan string, coll fungsinya jauh lebih lambat daripada versi yang cmp sesuai. Oleh karena itu, coll fungsi harus digunakan hanya ketika ada perbedaan antara urutan set karakter dan urutan karakter leksikografis di halaman kode saat ini dan perbedaan ini menarik untuk perbandingan string.

Lihat juga

Lokal
Manipulasi string
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