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 .