Sdílet prostřednictvím


_mbsnbcmp _mbsnbcmp_l

Porovná první n bajtů dva vícebajtové 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 Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány 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, které chcete porovnat.

  • count
    Počet bajtů k porovnání.

  • locale
    Národní prostředí pro použití.

Vrácená hodnota

Vrácená hodnota označuje vztah mezi podřetězce string1 a string.

Vrácená hodnota

Description

< 0

string1podřetězec je menší než string2 podřetězec.

0

string1podřetězec je totožný s string2 podřetězec.

> 0

string1podřetězec je větší než string2 podřetězec.

Na chybu _mbsnbcmp vrátí _NLSCMPERROR, která je definována v String.h a Mbstring.h.

Poznámky

_mbsnbcmp Funkce lexicographically porovná, nanejvýš první count bajtů v string1 a string2 a vrátí hodnotu, která označuje vztah mezi podřetězce._mbsnbcmpje velká a malá písmena verze _mbsnbicmp.Na rozdíl od strcoll, _mbsnbcmp neovlivní národní prostředí._mbsnbcmprozpozná vícebajtové znakové sekvence podle aktuální vícebajtové znaková stránka.

_mbsnbcmpse podobá _mbsncmp, s tím rozdílem, že _mbsncmp porovná řetězce znaků, nikoli bajtů.

Výstupní hodnota je ovlivněna LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale pro další informace.Verze této funkce, která nemá _l příponu používá aktuální národní prostředí pro toto chování závislé na národním prostředí; verze, která má _l přípona je totožný s tím rozdílem, že používá parametr locale, který je místo něho předán v.Další informace naleznete v tématu Národní prostředí.

Pokud string1 nebo string2 ukazatel s hodnotou null, je tato funkce vyvolá obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametrů.Pokud je povoleno zpracování, chcete-li pokračovat, vrátí funkce _NLSCMPERROR a errno je nastavena na EINVAL.

Mapování rutiny obecného textu

Byla zahájena rutina Tchar.h

_UNICODE a _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tcsncmp

strncmp

_mbsnbcmp

wcsncmp

_tcsncmp_l

strncmp

_mbsnbcml

wcsncmp

Požadavky

Byla zahájena rutina

Požadované záhlaví

_mbsnbcmp

<mbstring.h>

_mbsnbcmp_l

<mbstring.h>

Další informace o kompatibilitě 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ýsledek

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 Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Příklady volání funkce platformy.

Viz také

Referenční dokumentace

Manipulaci 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 vícebajtové znakové sekvence