Sdílet prostřednictvím


wstring_convert – třída

Šablona wstring_convert třídy provádí převody mezi širokým řetězcem a bajtovým řetězcem.

Syntaxe

template <class Codecvt, class Elem = wchar_t>
class wstring_convert

Parametry

Codecvt
Omezující vlastnost národního prostředí , která představuje objekt převodu.

Elem
Typ prvku širokého znaku.

Poznámky

Šablona třídy popisuje objekt, který řídí převody mezi širokými řetězcovými objekty třídy std::basic_string<Elem> a objekty řetězců bajtů třídy std::basic_string<char> (označované také jako std::string). Šablona třídy definuje typy wide_string a byte_string jako synonyma pro tyto dva typy. Převod mezi sekvencí hodnot (uložených Elem v objektu wide_string ) a vícebajtovými sekvencemi (uloženými v objektu byte_string ) provádí objekt třídy Codecvt<Elem, char, std::mbstate_t>, který splňuje požadavky standardní omezující vlastnosti std::codecvt<Elem, char, std::mbstate_t>převodu kódu .

Objekt této šablony třídy ukládá:

  • Bajtový řetězec, který se má zobrazit při chybách

  • Široký řetězec pro zobrazení chyb

  • Ukazatel na přidělený objekt převodu (který se uvolní při zničení wbuffer_convert objektu)

  • Objekt stavu převodu typu state_type

  • Počet převodů

Konstruktory

Konstruktor Popis
wstring_convert Vytvoří objekt typu wstring_convert.

Typedefs

Název typu Popis
byte_string Typ, který představuje řetězec bajtů.
wide_string Typ, který představuje široký řetězec.
state_type Typ, který představuje stav převodu.
int_type Typ, který představuje celé číslo.

Členské funkce

Členová funkce Popis
from_bytes Převede bajtový řetězec na široký řetězec.
to_bytes Převede široký řetězec na bajtový řetězec.
konvertovaný Vrátí počet úspěšných převodů.
state Vrátí objekt představující stav převodu.

Požadavky

Záhlaví:<národní prostředí>

Namespace: std

wstring_convert::byte_string

Typ, který představuje řetězec bajtů.

typedef std::basic_string<char> byte_string;

Poznámky

Typ je synonymem pro std::basic_string<char>.

wstring_convert::converted

Vrátí počet úspěšných převodů.

size_t converted() const;

Návratová hodnota

Početúspěšných

Poznámky

Počet úspěšných převodů je uložen v objektu počtu převodů.

wstring_convert::from_bytes

Převede bajtový řetězec na široký řetězec.

wide_string from_bytes(char Byte);
wide_string from_bytes(const char* ptr);
wide_string from_bytes(const byte_string& Bstr);
wide_string from_bytes(const char* first, const char* last);

Parametry

Bajt
Sekvence bajtů s jedním prvkem, která se má převést.

ptr
Sekvence znaků typu C-style s ukončenou hodnotou null, která se má převést.

Bstr
Byte_string, která se má převést.

první
První znak v rozsahu znaků, který se má převést.

poslední
Poslední znak v rozsahu znaků, který se má převést.

Návratová hodnota

Široký řetězcový objekt, který je výsledkem převodu.

Poznámky

Pokud objekt stavu převodu nebyl vytvořen s explicitní hodnotou, je nastaven na výchozí hodnotu (počáteční stav převodu) před zahájením převodu. Jinak zůstane beze změny.

Počet vstupních prvků, které byly úspěšně převedeny, je uložen v objektu počtu převodů. Pokud nedojde k žádné chybě převodu, vrátí členová funkce převedený široký řetězec. V opačném případě, pokud byl objekt vytvořen s inicializátorem pro široko-řetězcovou chybovou zprávu, členské funkce vrátí objekt chybové zprávy široký řetězec. V opačném případě členské funkce vyvolá objekt třídy range_error.

wstring_convert::int_type

Typ, který představuje celé číslo.

typedef typename wide_string::traits_type::int_type int_type;

Poznámky

Typ je synonymem pro wide_string::traits_type::int_type.

wstring_convert::state

Vrátí objekt představující stav převodu.

state_type state() const;

Návratová hodnota

Objekt stavu převodu, který představuje stav převodu.

Poznámky

wstring_convert::state_type

Typ, který představuje stav převodu.

typedef typename Codecvt::state_type state_type;

Poznámky

Typ popisuje objekt, který může představovat stav převodu. Typ je synonymem pro Codecvt::state_type.

wstring_convert::to_bytes

Převede široký řetězec na bajtový řetězec.

byte_string to_bytes(Elem Char);
byte_string to_bytes(const Elem* Wptr);
byte_string to_bytes(const wide_string& Wstr);
byte_string to_bytes(const Elem* first, const Elem* last);

Parametry

Char
Široký znak, který se má převést.

Wptr
Sekvence typu C-style, ukončená hodnotou null, počínaje písmenem wptr, která se má převést.

Wstr
Wide_string, která se má převést.

první
První prvek v oblasti prvků, které mají být převedeny.

poslední
Poslední prvek v oblasti prvků, které mají být převedeny.

Poznámky

Pokud objekt stavu převodu nebyl vytvořen s explicitní hodnotou, je nastaven na výchozí hodnotu (počáteční stav převodu) před zahájením převodu. Jinak zůstane beze změny.

Počet vstupních prvků, které byly úspěšně převedeny, je uložen v objektu počtu převodů. Pokud nedojde k chybě převodu, vrátí členová funkce převedený bajtový řetězec. V opačném případě, pokud byl objekt vytvořen inicializátor pro bajt-řetězec chybová zpráva, členské funkce vrátí bajt-string objekt chybové zprávy. V opačném případě členské funkce vyvolá objekt třídy range_error.

wstring_convert::wide_string

Typ, který představuje široký řetězec.

typedef std::basic_string<Elem> wide_string;

Poznámky

Typ je synonymem pro std::basic_string<Elem>.

wstring_convert::wstring_convert

Vytvoří objekt typu wstring_convert.

wstring_convert(Codecvt *Pcvt = new Codecvt);
wstring_convert(Codecvt *Pcvt, state_type _State);
wstring_convert(const byte_string& _Berr, const wide_string& Werr = wide_string());

Parametry

*Pcvt
Objekt typu Codecvt , který má provést převod.

_Stát
Objekt typu state_type představující stav převodu.

_Berr
Byte_string k zobrazení chyb.

Werr
Wide_string k zobrazení chyb.

Poznámky

První konstruktor ukládá Pcvt_arg v objektu převodu .