strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Membandingkan string dengan menggunakan lokal saat ini atau kategori status konversi tertentu LC_COLLATE .

Penting

_mbscoll dan _mbscoll_l tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.

Sintaks

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

Parameter

string1, string2
String yang dihentikan null untuk dibandingkan.

locale
Lokal untuk digunakan.

Nilai hasil

Masing-masing fungsi ini mengembalikan nilai yang menunjukkan hubungan string1 ke string2, sebagai berikut.

Nilai hasil Hubungan ke string1string2
< 0 string1 Kurang string2
0 string1 identik dengan string2
> 0 string1 lebih besar dari string2

Masing-masing fungsi ini kembali _NLSCMPERROR pada kesalahan. Untuk menggunakan _NLSCMPERROR, sertakan salah satu STRING. H atau MBSTRING.H. wcscoll dapat gagal jika atau string1string2 berisi NULL kode karakter lebar di luar domain urutan kolase. Ketika kesalahan terjadi, wcscoll dapat diatur errno ke EINVAL. Untuk memeriksa kesalahan pada panggilan ke , atur ke wcscoll0 lalu periksa errno setelah memanggil wcscoll.errno

Keterangan

Masing-masing fungsi ini melakukan perbandingan string1 peka huruf besar/kecil dan string2 sesuai dengan halaman kode yang saat ini digunakan. Fungsi-fungsi ini 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.

Semua fungsi ini memvalidasi parameternya. Jika atau string1string2 adalah penunjuk null, atau jika count lebih besar dari INT_MAX, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter . Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini kembali _NLSCMPERROR dan diatur errno ke EINVAL.

Perbandingan dua string adalah operasi yang bergantung pada lokal karena setiap lokal memiliki aturan yang berbeda untuk mengurutkan karakter. Versi fungsi-fungsi ini tanpa _l akhiran menggunakan lokal utas saat ini untuk perilaku dependen lokal ini; versi dengan akhiran identik dengan _l fungsi yang sesuai tanpa akhiran kecuali bahwa mereka menggunakan lokal yang diteruskan sebagai parameter alih-alih lokal saat ini. Untuk informasi selengkapnya, lihat Lokal.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Pemetaan rutin teks generik

TCHAR. Rutinitas H _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcscoll strcoll _mbscoll wcscoll

Persyaratan

Rutin Header yang diperlukan
strcoll <string.h>
wcscoll <wchar.h>, <string.h>
_mbscoll, _mbscoll_l <mbstring.h>
_strcoll_l <string.h>
_wcscoll_l <wchar.h>, <string.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Baca juga

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