_mbsnbcmp, _mbsnbcmp_l
İlk karşılaştırır n bayt iki çok baytlı karakter dizeleri.
Önemli |
---|
Bu API yürütün uygulamalarda kullanılamaz Windows Çalışma Zamanı.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin. |
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
);
Parametreler
string1, string2
Karşılaştırmak için dizeleri.count
Karşılaştırmak için bayt sayısı.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Dönüş değeri bu nedenle arasındaki ilişkiyi gösterir string1 ve string.
Dönüş değeri |
Tanımlama |
---|---|
< 0 |
string1alt dize olduğundan az string2 alt dize. |
0 |
string1alt dize aynı string2 alt dize. |
> 0 |
string1alt dize büyük string2 alt dize. |
Bir hata _mbsnbcmp döndüren _NLSCMPERROR, String.h ve Mbstring.h tanımlanan.
Notlar
_mbsnbcmp İşlevi lexicographically karşılaştırır, en çok, ilk count bayt cinsinden string1 ve string2 ve bu nedenle arasındaki ilişkiyi gösteren bir değeri döndürür._mbsnbcmpbüyük küçük harf duyarlı bir sürümüdür _mbsnbicmp.Aksine strcoll, _mbsnbcmp yerel ayarlarından etkilenmez._mbsnbcmpGeçerli çok baytlı göre çok baytlı karakter dizilerini tanır kod sayfasını.
_mbsnbcmpbenzer _mbsncmp, dışında _mbsncmp karakterler yerine bayt dizesini karşılaştırır.
Çıkış değeri etkilenir LC_CTYPE ; bölgesel ayar kategorisi bkz: setlocale daha fazla bilgi için.Yoksa bu işlev sürümü _l soneki kullanır geçerli yerel ayarı için bu yerel ayara bağımlı davranışı; sürüm olan _l sonekidir özdeş dışında bunun yerine geçirilen yerel parametresini kullanır.Daha fazla bilgi için bkz. Yerel ayar.
Ya da, string1 veya string2 bir null işaretçi parametresi geçersiz işleyici açıklandığı gibi bu işlevi çağırır Parametre doğrulama.İşlev verir yürütülmesine devam etmek için izin verilip verilmediğini, _NLSCMPERROR ve errno ayarlamak EINVAL.
Genel metin eşlemeleri yordamına girildi
Tchar.h yordamına girildi |
_UNICODE ve _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk.
Örnek
// 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 );
}
Çıktı
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
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanın PInvoke. Daha fazla bilgi için bkz. Platform Çağırma örnekleri.
Ayrıca bkz.
Başvuru
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l