Sdílet prostřednictvím


_mbsnbcmp, _mbsnbcmp_l

Porovná první n bajtů dva multibajtové znakové řetězce.

Důležitá poznámkaDů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

strncmp

_mbsnbcmp

wcsncmp

_tcsncmp_l

strncmp

_mbsnbcml

wcsncmp

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

Zacházení s řetězci (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbicmp, _mbsnbicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

Národní prostředí

Výklad sekvencí vícebajtových znaků