_mbsnbcmp
, _mbsnbcmp_l
Membandingkan n byte pertama dari dua string karakter multibyte.
Penting
API ini 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 _mbsnbcmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsnbcmp_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parameter
string1
, string2
String yang akan dibandingkan.
count
Jumlah byte yang akan dibandingkan.
locale
Lokal yang akan digunakan.
Nilai hasil
Nilai pengembalian menunjukkan hubungan ordinal antara substring dan string1
string2
.
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, _mbsnbcmp
dan kembalikan _NLSCMPERROR
, yang didefinisikan dalam <string.h> dan <mbstring.h>_mbsnbcmp_l
.
Keterangan
Fungsi _mbsnbcmp
membandingkan paling banyak byte pertama count
dalam string1
dan string2
dan mengembalikan nilai yang menunjukkan hubungan antara substring. _mbsnbcmp
adalah versi peka huruf besar/kecil dari _mbsnbicmp
. Tidak seperti _mbsnbcoll
, _mbsnbcmp
tidak terpengaruh oleh urutan kolase lokal. _mbsnbcmp
mengenali urutan karakter multibyte sesuai dengan halaman kode multibyte saat ini.
_mbsnbcmp
menyerupai _mbsncmp
, kecuali yang _mbsncmp
membandingkan string menurut karakter daripada byte.
Nilai output dipengaruhi oleh LC_CTYPE
pengaturan kategori lokal, yang menentukan byte prospek dan byte berikutnya dari karakter multibyte. Untuk informasi selengkapnya, lihat setlocale
. Fungsi ini _mbsnbcmp
menggunakan lokal saat ini untuk perilaku yang bergantung pada lokal ini. Fungsi _mbsnbcmp_l
ini identik kecuali menggunakan locale
parameter sebagai gantinya. Untuk informasi selengkapnya, lihat Lokal.
Jika atau string1
string2
adalah penunjuk null, fungsi-fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi mengembalikan _NLSCMPERROR
, dan errno
diatur ke EINVAL
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
Rutinitas Tchar.h | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcsncmp |
strncmp |
_mbsnbcmp |
wcsncmp |
_tcsncmp_l |
strncmp |
_mbsnbcml |
wcsncmp |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// crt_mbsnbcmp.c
#include <mbstring.h>
#include <stdio.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";
int main( void )
{
char tmp[20];
int result;
printf( "Compare strings:\n %s\n", string1 );
printf( " %s\n\n", string2 );
printf( "Function: _mbsnbcmp (first 10 characters only)\n" );
result = _mbsncmp( string1, string2 , 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
printf( "Function: _mbsnicmp _mbsnicmp (first 10 characters only)\n" );
result = _mbsnicmp( string1, string2, 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
}
Output
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown fox jumps over the lazy dog
Function: _mbsnbcmp (first 10 characters only)
Result: String 1 is greater than string 2
Function: _mbsnicmp _mbsnicmp (first 10 characters only)
Result: String 1 is equal to string 2
Lihat juga
Manipulasi string
_mbsnbcat
, _mbsnbcat_l
_mbsnbicmp
, _mbsnbicmp_l
strncmp
, , wcsncmp
_mbsncmp
,_mbsncmp_l
_strnicmp
, , _wcsnicmp
_mbsnicmp
, _strnicmp_l
, , _wcsnicmp_l
,_mbsnicmp_l
Lokal
Interpretasi urutan karakter multibyte