Udostępnij za pośrednictwem


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::stringró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