Bagikan melalui


_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

Membandingkan jumlah karakter yang ditentukan dari dua string tanpa memperhatikan kasus.

Penting

_mbsnicmp dan _mbsnicmp_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 _strnicmp(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsnicmp(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsnicmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strnicmp_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicmp_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsnicmp_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parameter

string1, string2
String yang dihentikan null untuk dibandingkan.

count
Jumlah karakter yang akan dibandingkan.

locale
Lokal untuk digunakan.

Nilai hasil

Menunjukkan hubungan antara substring, sebagai berikut.

Nilai hasil Deskripsi
< 0 string1 substring kurang dari string2 substring.
0 string1 substring identik dengan string2 substring.
> 0 string1 substring lebih besar dari string2 substring.

Pada kesalahan validasi parameter, fungsi-fungsi ini mengembalikan _NLSCMPERROR, yang didefinisikan dalam <string.h> dan <mbstring.h>.

Keterangan

Fungsi ini _strnicmp paling banyak membandingkan karakter string1 pertama count dan string2. Perbandingan dilakukan tanpa memperhatikan kasus dengan mengonversi setiap karakter menjadi huruf kecil. _strnicmp adalah versi yang tidak peka huruf besar/kecil dari strncmp. Perbandingan berakhir jika karakter null yang mengakhiri tercapai dalam salah satu string sebelum count karakter dibandingkan. Jika string sama ketika karakter null yang mengakhiri tercapai dalam salah satu string sebelum count karakter dibandingkan, string yang lebih pendek lebih kecil.

Karakter dari 91 hingga 96 dalam tabel ASCII ('[', '\', ']', '^', '_', dan ''') mengevaluasi kurang dari karakter alfabet apa pun. Pemesanan ini identik dengan stricmp.

_wcsnicmp dan _mbsnicmp adalah versi karakter lebar dan multibyte-character dari _strnicmp. Argumen adalah _wcsnicmp string karakter lebar. Argumen adalah _mbsnicmp string multibyte-character. _mbsnicmp mengenali urutan karakter multibyte sesuai dengan halaman kode multibyte saat ini dan mengembalikan _NLSCMPERROR kesalahan. Untuk informasi selengkapnya, lihat Halaman kode. Ketiga fungsi ini berulah secara identik jika tidak. Fungsi-fungsi ini dipengaruhi oleh pengaturan lokal—versi yang tidak memiliki _l akhiran menggunakan lokal saat ini untuk perilaku dependen lokal mereka; versi yang memang memiliki _l akhiran sebagai gantinya menggunakan locale yang diteruskan. Untuk informasi selengkapnya, lihat Lokal.

Semua fungsi ini memvalidasi parameternya. Jika atau string1string2 adalah penunjuk null, 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.

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
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Persyaratan

Rutin Header yang diperlukan
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> atau <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

Lihat contoh untuk strncmp.

Baca juga

Manipulasi string
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
strspn, wcsspn, _mbsspn, _mbsspn_l