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