_mbsnbcmp, _mbsnbcmp_l
Porównuje pierwszą n bajtów dwa ciągi znaków wielobajtowych.
![]() |
---|
Ten interfejs API nie można używać w aplikacji, których wykonywanie w Środowisko wykonawcze systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW. |
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
);
Parametry
string1, string2
Ciągi znaków do porównania.count
Liczba bajtów do porównania.locale
Ustawienia regionalne używane.
Wartość zwracana
Zwracana wartość wskazuje relację między podciągów z string1 i string.
Zwracana wartość |
Opis |
---|---|
< 0 |
string1podciąg jest mniejsza niż string2 podciągu. |
0 |
string1podciąg jest identyczny z string2 podciągu. |
> 0 |
string1podciąg jest większa niż string2 podciągu. |
Na błąd _mbsnbcmp zwraca _NLSCMPERROR, który jest zdefiniowany w String.h i Mbstring.h.
Uwagi
_mbsnbcmp Funkcja leksykograficznym porównuje, co najwyżej pierwszy count bajtów w string1 i string2 i zwraca wartość, która wskazuje relację między podciągów._mbsnbcmpjest ona rozróżniana wielkość liter do _mbsnbicmp.W przeciwieństwie do strcoll, _mbsnbcmp nie dotyczy ustawień regionalnych._mbsnbcmprozpoznaje sekwencje znaków wielobajtowych, zgodnie z bieżącym wielobajtowe Strona kodowa.
_mbsnbcmppodobny do _mbsncmp, chyba że _mbsncmp porównuje ciągi znaków, a nie bajtów.
Wartość produkcji jest zagrożony LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale Aby uzyskać więcej informacji.Wersja tej funkcji, która nie ma _l sufiks używa bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; wersję, która ma _l sufiks jest identyczny z tym, że parametr ustawień regionalnych, przesyłanych w zamian.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
Jeśli każda string1 lub string2 jest pusty wskaźnik, funkcja ta wywołuje program obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może w dalszym ciągu, funkcja zwraca _NLSCMPERROR i errno jest ustawiona na EINVAL.
Tekst rodzajowy rutynowych mapowania
Rozpoczęto wykonywanie procedury TCHAR.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Informacji dotyczących zgodności, zobacz Zgodność.
Przykład
// 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 );
}
Dane wyjściowe
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
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Platforma wywołać przykłady.
Zobacz też
Informacje
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l