Sdílet prostřednictvím


mbsrtowcs

Převede řetězec vícebajtových znaků odpovídající řetězec znaků široký.Bezpečnější verze této funkce je k dispozici; see mbsrtowcs.

size_t mbsrtowcs(
   wchar_t *wcstr,
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
);
template <size_t size>
size_t mbsrtowcs(
   wchar_t (&wcstr)[size],
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
); // C++ only

Parametry

  • [výstup]wcstr
    Výsledný převést adresu umístění řetězec znaků.

  • [v]mbstr
    Nepřímo odkazuje na umístění řetězec vícebajtových znaků převést.

  • [v]count
    Počet znaků, které chcete převést.

  • [v]mbstate
    Ukazatel na mbstate_t převodu stavu objektu.

Vrácená hodnota

Vrátí počet slov úspěšně převeden, včetně není null ukončení slovo null (pokud existuje), jinak -1 Pokud došlo k chybě.

Poznámky

mbsrtowcs Funkce převede řetězec vícebajtových znaků, počínaje zadaný převod státu obsažených v mbstate, z hodnoty nepřímé označenou v mbstr, na adresu wcstr.Pro každý znak, dokud bude pokračovat v převodu: po zjistil null ukončení vícebajtových znaků, pokud je zjištěna bez odpovídající znak nebo po následující znak by překročil limit obsažené v count.Pokud mbsrtowcs narazí vícebajtové znaky null (\0) před nebo po count dojde, převede ho na 16bitové null ukončení znaků a zastaví.

Tedy řetězec znaků v wcstr je zakončený pouze tehdy, pokud mbsrtowcs dojde během převodu vícebajtových znakem null.Pokud na sekvence odkazuje mbstr a wcstr překrývají, chování mbsrtowcs nedefinovaná.mbsrtowcsvliv LC_TYPE kategorie aktuální národní prostředí.

mbsrtowcs Funkce se liší od mbstowcs _mbstowcs_l podle jeho restartability.Stav převodu je uložen v mbstate pro následné volání na stejné nebo jiné funkce s možností restartování.Výsledky nedefinované při použití funkce restartování a nonrestartable.Například použít aplikaci mbsrlen namísto mbslen, pokud následné volání mbsrtowcs namísto použitímbstowcs.

Pokud wcstr argument je NULL, mbsrtombs slovy řetězec cílové vrátí požadovaná velikost.Pokud mbstate má hodnotu null, vnitřní mbstate_t slouží k převodu stavu.Pokud je sekvence znaků wchar nemá odpovídající vícebajtové znakové vyjádření, je vrácena hodnota -1 a errno je nastavena na EILSEQ.

Pokud mbstr je NULL, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, tato funkce nastaví errno na EINVAL a vrátí -1.

Tato funkce v jazyce C++ má přetížení šablonu, která vyvolá protějškem novější, zabezpečené této funkce.Další informace naleznete v tématu Přetížení šablony zabezpečení.

Výjimky

mbsrtowcs , Funkce je bezpečné multithread žádná funkce v aktuální podproces volá setlocale v době, kdy je tato funkce spuštění a mbstate není null.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Požadavky

Rutina

Požadované záhlaví

mbsrtowcs

<wchar.h>

Viz také

Referenční dokumentace

Převod dat

Národní prostředí

Výklad vícebajtové znakové sekvence

mbrtowc

mbtowc _mbtowc_l

mbstowcs _mbstowcs_l

mbsinit