wstring_convert — Klasa
Szablon wstring_convert
klasy wykonuje konwersje między szerokim ciągiem a ciągiem bajtowym.
Składnia
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
Parametry
Codecvt
Zestaw ustawień regionalnych reprezentujący obiekt konwersji.
Elem
Typ elementu o szerokim znaku.
Uwagi
Szablon klasy opisuje obiekt, który kontroluje konwersje między szerokimi obiektami ciągów klasy i obiektów ciągów bajtowych klasy std::basic_string<Elem>
std::basic_string<char>
(nazywanych std::string
również ). Szablon klasy definiuje typy wide_string
i byte_string
jako synonimy dla tych dwóch typów. Konwersja między sekwencją Elem
wartości (przechowywanych w wide_string
obiekcie) i sekwencjami wielobajtowymi (przechowywanymi w byte_string
obiekcie) jest wykonywana przez obiekt klasy Codecvt<Elem, char, std::mbstate_t>
, który spełnia wymagania standardowego aspektu std::codecvt<Elem, char, std::mbstate_t>
konwersji kodu .
Obiekt tego szablonu klasy przechowuje:
Ciąg bajtowy do wyświetlenia w przypadku błędów
Szeroki ciąg do wyświetlenia w przypadku błędów
Wskaźnik do przydzielonego obiektu konwersji (który jest zwalniany, gdy obiekt wbuffer_convert jest niszczony)
Obiekt stanu konwersji typu state_type
Liczba konwersji
Konstruktory
Konstruktor | opis |
---|---|
wstring_convert | Tworzy obiekt typu wstring_convert . |
Typedefs
Nazwa typu | opis |
---|---|
byte_string | Typ reprezentujący ciąg bajtowy. |
wide_string | Typ reprezentujący szeroki ciąg. |
state_type | Typ reprezentujący stan konwersji. |
int_type | Typ reprezentujący liczbę całkowitą. |
Funkcje składowe
Funkcja składowa | opis |
---|---|
from_bytes | Konwertuje ciąg bajtowy na szeroki ciąg. |
to_bytes | Konwertuje szeroki ciąg na ciąg bajtowy. |
Przekształcić | Zwraca liczbę pomyślnych konwersji. |
state | Zwraca obiekt reprezentujący stan konwersji. |
Wymagania
Nagłówek:<ustawienia regionalne>
Przestrzeń nazw: std
wstring_convert::byte_string
Typ reprezentujący ciąg bajtowy.
typedef std::basic_string<char> byte_string;
Uwagi
Typ jest synonimem .std::basic_string<char>
wstring_convert::converted
Zwraca liczbę pomyślnych konwersji.
size_t converted() const;
Wartość zwracana
Liczba pomyślnych konwersji.
Uwagi
Liczba pomyślnych konwersji jest przechowywana w obiekcie licznika konwersji.
wstring_convert::from_bytes
Konwertuje ciąg bajtowy na szeroki ciąg.
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
Sekwencja bajtów z jednym elementem, która ma zostać przekonwertowana.
ptr
Sekwencja znaków w stylu C, zakończona wartością null, która ma zostać przekonwertowana.
Bstr
Byte_string do przekonwertowania.
pierwszy
Pierwszy znak w zakresie znaków do przekonwertowania.
ostatni
Ostatni znak w zakresie znaków do przekonwertowania.
Wartość zwracana
Szeroki obiekt ciągu wynikający z konwersji.
Uwagi
Jeśli obiekt stanu konwersji nie został skonstruowany z jawną wartością, jest ustawiony na jego wartość domyślną (początkowy stan konwersji) przed rozpoczęciem konwersji. W przeciwnym razie pozostanie bez zmian.
Liczba pomyślnie przekonwertowanych elementów wejściowych jest przechowywana w obiekcie licznika konwersji. Jeśli wystąpi błąd konwersji, funkcja składowa zwraca przekonwertowany szeroki ciąg. W przeciwnym razie, jeśli obiekt został skonstruowany za pomocą inicjatora komunikatu o błędzie szerokiego ciągu, funkcja składowa zwraca obiekt komunikatu o błędzie w całym ciągu. W przeciwnym razie funkcja składowa zgłasza obiekt range_error klasy.
wstring_convert::int_type
Typ reprezentujący liczbę całkowitą.
typedef typename wide_string::traits_type::int_type int_type;
Uwagi
Typ jest synonimem .wide_string::traits_type::int_type
wstring_convert::state
Zwraca obiekt reprezentujący stan konwersji.
state_type state() const;
Wartość zwracana
Obiekt stanu konwersji, który reprezentuje stan konwersji.
Uwagi
wstring_convert::state_type
Typ reprezentujący stan konwersji.
typedef typename Codecvt::state_type state_type;
Uwagi
Typ opisuje obiekt, który może reprezentować stan konwersji. Typ jest synonimem .Codecvt::state_type
wstring_convert::to_bytes
Konwertuje szeroki ciąg na ciąg bajtowy.
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
Szeroki znak, który ma zostać przekonwertowany.
Wptr
Sekwencja w stylu C, zakończona wartością null, rozpoczynająca się od wptr
, ma zostać przekonwertowana.
Wstr
Wide_string do przekonwertowania.
pierwszy
Pierwszy element w zakresie elementów do przekonwertowania.
ostatni
Ostatni element w zakresie elementów do przekonwertowania.
Uwagi
Jeśli obiekt stanu konwersji nie został skonstruowany z jawną wartością, jest ustawiony na jego wartość domyślną (początkowy stan konwersji) przed rozpoczęciem konwersji. W przeciwnym razie pozostanie bez zmian.
Liczba pomyślnie przekonwertowanych elementów wejściowych jest przechowywana w obiekcie licznika konwersji. Jeśli wystąpi błąd konwersji, funkcja składowa zwraca przekonwertowany ciąg bajtowy. W przeciwnym razie, jeśli obiekt został skonstruowany z inicjatorem komunikatu o błędzie byte-string, funkcja składowa zwraca obiekt komunikatu o błędzie ciągu bajtu. W przeciwnym razie funkcja składowa zgłasza obiekt range_error klasy.
wstring_convert::wide_string
Typ reprezentujący szeroki ciąg.
typedef std::basic_string<Elem> wide_string;
Uwagi
Typ jest synonimem .std::basic_string<Elem>
wstring_convert::wstring_convert
Tworzy obiekt 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
Obiekt typu Codecvt
do wykonania konwersji.
_Stan
Obiekt typu state_type reprezentujący stan konwersji.
_Berr
Byte_string do wyświetlania błędów.
Werr
Wide_string do wyświetlenia w przypadku błędów.
Uwagi
Pierwszy konstruktor przechowuje Pcvt_arg w obiekcie konwersji