_mbsnbcmp, _mbsnbcmp_l
Porovná první n bajtů dva multibajtové znakové řetězce.
Důležité |
---|
Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v prostředí Windows Runtime.Další informace naleznete v tématu CRT funkce nepodporované s /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
Řetězce k porovnání.count
Počet bajtů k porovnání.locale
Národní prostředí, které se má použít
Vrácená hodnota
Návratová hodnota udává pořadí vztah mezi dílčích řetězců z string1 a string.
Návratová hodnota |
Popis |
---|---|
< 0 |
string1podřetězec je menší než string2 dílčí řetězec. |
0 |
string1podřetězec je stejná jako string2 dílčí řetězec. |
> 0 |
string1dílčí řetězec je větší než string2 dílčí řetězec. |
Na chybu ověření parametru _mbsnbcmp a _mbsnbcmp_l vrátit _NLSCMPERROR, který je definován v < string.h > a < mbstring.h >.
Poznámky
_mbsnbcmp Funkce porovnání maximálně první count bajtů v string1 a string2 a vrátí hodnotu, která určuje vztah mezi dílčích řetězců._mbsnbcmpje velká a malá písmena verze _mbsnbicmp.Na rozdíl od _mbsnbcoll, _mbsnbcmp není ovlivněn pořadí kolace národní prostředí._mbsnbcmprozpozná multibajtové znakové pořadí podle aktuální vícebajtovou znakové stránky.
_mbsnbcmpvypadat například takto: _mbsncmp, s tím rozdílem, že _mbsncmp porovná řetězce znaků, a nikoli podle bajtů.
Výstupní hodnota má vliv LC_CTYPE kategorie nastavení národního prostředí, který určuje úvodní bajty a koncové bajtů středník.Další informace naleznete v tématu setlocale._mbsnbcmp Využívá funkce aktuální národní prostředí pro toto chování závislé na národní prostředí._mbsnbcmp_l Funkce je totožný s tím rozdílem, že se používá locale parametr místo toho.Další informace naleznete v tématu Národní prostředí.
Pokud buď string1 nebo string2 je ukazatel s hodnotou null, tyto funkce vyvolat obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametru.Pokud je povolena provádění chcete-li pokračovat, vrátí funkce _NLSCMPERROR a errno je nastavena na EINVAL.
Mapování rutin obecného textu
Rutina Tchar.h |
_UNICODE a _MBCS nejsou definovány. |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Požadavky
Rutina |
Požadovaný hlavičkový soubor |
---|---|
_mbsnbcmp |
< mbstring.h > |
_mbsnbcmp_l |
< mbstring.h > |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
// 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 );
}
Výstup
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
Ekvivalent v rozhraní .NET Framework
Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.
Viz také
Referenční dokumentace
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l