Sdílet prostřednictvím


_mbclen, mblen, _mblen_l

Získá délku a určuje platnost vícebajtových znaků.

Důležitá poznámkaDůležité

Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v systému Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

size_t _mbclen(
   const unsigned char *c 
);
int mblen(
   const char *mbstr,
   size_t count 
);
int _mblen_l(
   const char *mbstr,
   size_t count,
   _locale_t locale
);

Parametry

  • c
    Vícebajtové znakové.

  • mbstr
    Adresa bajt vícebajtové znakové sekvence.

  • count
    Počet bajtů pro kontrolu.

  • locale
    Chcete-li národní prostředí pro použití.

Vrácená hodnota

_mbclenVrátí hodnotu 1 nebo 2, podle zda vícebajtové znakové c je 1 nebo 2 bajty.Není žádná chyba vrácená pro _mbclen.Pokud mbstr není NULL, mblen vrátí délku, v bajtech vícebajtových znaků.Pokud mbstr je NULL nebo odkazuje na prázdný znak širokého znaku, mblen vrátí hodnotu 0.Pokud objekt, mbstr odkazuje na platné vícebajtové znakové v rámci první netvoří count znaky, mblen vrátí hodnotu –1.

Poznámky

_mbclen Funkce vrátí délku, v bajtech vícebajtové znakové c.Pokud c neodkazuje na vedoucí bajt vícebajtové znakové podle implicitní volání na _ismbblead, výsledek _mbclen nelze předvídat.

mblenVrátí délku v bajtech mbstr , pokud je platné vícebajtové znakové a určuje vícebajtové znakové platnosti přidružené znakové stránky.mblenzkoumá count nebo menší počet bajtů obsažených v mbstr, ale ne více než MB_CUR_MAX bajtů.

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

Mapování rutiny obecného textu

Byla zahájena rutina Tchar.h

_UNICODE a _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tclen

Mapy do makra nebo vložené funkce

_mbclen

Mapy do makra nebo vložené funkce

Požadavky

Byla zahájena rutina

Požadované záhlaví

_mbclen

<mbstring.h>

mblen

<stdlib.h>

_mblen_l

<stdlib.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

// crt_mblen.c
/* illustrates the behavior of the mblen function
 */

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    int      i;
    char    *pmbc = (char *)malloc( sizeof( char ) );
    wchar_t  wc   = L'a';

    printf( "Convert wide character to multibyte character:\n" );
    wctomb_s( &i, pmbc, sizeof(char), wc );
    printf( "  Characters converted: %u\n", i );
    printf( "  Multibyte character: %x\n\n", *pmbc );

    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of multibyte character %x: %u\n", *pmbc, i );

    pmbc = NULL;
    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of NULL multibyte character %x: %u\n", pmbc, i );
}

Výsledek

Convert wide character to multibyte character:
  Characters converted: 1
  Multibyte character: 61

Length in bytes of multibyte character 61: 1
Length in bytes of NULL multibyte character 0: 0

Ekvivalent v rozhraní .NET Framework

Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Platformu vyvolání příklady.

Viz také

Referenční dokumentace

Klasifikace znaků

Národní prostředí

Výklad vícebajtové znakové sekvence

_mbccpy _mbccpy_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l