Freigeben über


wstring_convert-Klasse

Die Klassenvorlage wstring_convert führt Konvertierungen zwischen einer breiten Zeichenfolge und einer Bytezeichenfolge durch.

Syntax

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

Parameter

Codecvt
Das Facet locale, das das Konvertierungsobjekt darstellt.

Elem
Der Breitzeichen-Elementtyp.

Hinweise

Die Klassenvorlage beschreibt ein Objekt, das Konvertierungen zwischen breiten Zeichenfolgenobjekten der Klasse std::basic_string<Elem> und Bytezeichenfolgenobjekten der Klasse std::basic_string<char> steuert (auch bekannt als std::string). Die Klassenvorlage definiert die Typen wide_string und byte_string synonyme für diese beiden Typen. Konvertierung zwischen einer Sequenz von Elem-Werten (in einem wide_string-Objekt gespeichert) und Multibytesequenzen (in einem byte_string-Objekt gespeichert) erfolgt durch ein Objekt der Klasse Codecvt<Elem, char, std::mbstate_t>, das die Anforderungen des Facets std::codecvt<Elem, char, std::mbstate_t> für die Standardcodekonvertierung erfüllt.

Ein Objekt dieser Klassenvorlage speichert:

  • Eine bei Fehlern anzuzeigende Bytezeichenfolge

  • Eine bei Fehlern anzuzeigende breite Zeichenfolge

  • Ein Zeiger auf das zugeordnete Konvertierungsobjekt (das freigegeben wird, wenn das wbuffer_convert-Objekt zerstört wird)

  • Ein Konvertierungsstatusobjekt vom Typ state_type

  • Eine Konvertierungsanzahl

Konstruktoren

Konstruktor Beschreibung
wstring_convert Konstruiert ein Objekt vom Typ wstring_convert.

TypeDefs

Typname Beschreibung
byte_string Ein Typ, der eine Bytezeichenfolge darstellt.
wide_string Ein Typ, der eine breite Zeichenfolge darstellt.
state_type Ein Typ, der den Konvertierungszustand darstellt.
int_type Ein Typ, der eine ganze Zahl darstellt.

Memberfunktionen

Memberfunktion Beschreibung
from_bytes Konvertiert eine Bytezeichenfolge in eine breite Zeichenfolge.
to_bytes Konvertiert eine breite Zeichenfolge in eine Bytezeichenfolge.
converted Gibt die Anzahl der erfolgreichen Konvertierungen zurück.
state Gibt ein Objekt zurück, das den Zustand für die Konvertierung darstellt.

Anforderungen

Header:<locale>

Namespace: std

wstring_convert::byte_string

Ein Typ, der eine Bytezeichenfolge darstellt.

typedef std::basic_string<char> byte_string;

Hinweise

Der Typ ist ein Synonym für std::basic_string<char>.

wstring_convert::converted

Gibt die Anzahl der erfolgreichen Konvertierungen zurück.

size_t converted() const;

Rückgabewert

Die Anzahl der erfolgreichen Konvertierungen.

Hinweise

Die Anzahl der erfolgreichen Konvertierungen wird im Konvertierungsanzahlobjekt gespeichert.

wstring_convert::from_bytes

Konvertiert eine Bytezeichenfolge in eine breite Zeichenfolge.

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);

Parameter

Byte
Die zu konvertierende Einzelelement-Bytesequenz.

ptr
Die auf NULL endende Zeichenfolge im C-Stil der zu konvertierenden Zeichen.

Bstr
Der zu konvertierende byte_string.

first
Das erste Zeichen in einem Bereich von zu konvertierenden Zeichen.

last
Das letzte Zeichen in einem Bereich von zu konvertierenden Zeichen.

Rückgabewert

Ein breites Zeichenfolgenobjekt, das sich aus der Konvertierung ergibt.

Hinweise

Wenn das Konvertierungsstatusobjekt nicht mit einem expliziten Wert erstellt wurde, wird es vor Beginn der Konvertierung auf den Standardwert (der ursprüngliche Konvertierungszustand) festgelegt. Andernfalls bleibt es unverändert.

Die Anzahl der erfolgreich konvertierten Eingabeelemente wird im Konvertierungsanzahlobjekt gespeichert. Wenn kein Konvertierungsfehler auftritt, gibt die Memberfunktion die konvertierte breite Zeichenfolge zurück. Wenn das Objekt mit einem Initialisierer für die Breitzeichen-Fehlermeldung erstellt wurde, gibt die Memberfunktion das Breitzeichen-Fehlermeldungsobjekt zurück. Andernfalls gibt die Memberfunktion ein Objekt der Klasse range_error aus.

wstring_convert::int_type

Ein Typ, der eine ganze Zahl darstellt.

typedef typename wide_string::traits_type::int_type int_type;

Hinweise

Der Typ ist ein Synonym für wide_string::traits_type::int_type.

wstring_convert::state

Gibt ein Objekt zurück, das den Zustand für die Konvertierung darstellt.

state_type state() const;

Rückgabewert

Das Konvertierungsstatusobjekt, das den Status der Konvertierung darstellt.

Hinweise

wstring_convert::state_type

Ein Typ, der den Konvertierungszustand darstellt.

typedef typename Codecvt::state_type state_type;

Hinweise

Der Typ beschreibt ein Objekt, das einen Konvertierungszustand repräsentieren kann. Der Typ ist ein Synonym für Codecvt::state_type.

wstring_convert::to_bytes

Konvertiert eine breite Zeichenfolge in eine Bytezeichenfolge.

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);

Parameter

Char
Die zu konvertierenden Breitzeichenfolgen.

Wptr
Die auf NULL endende Sequenz im C-Stil, die bei wptrbeginnt und konvertiert werden soll.

Wstr
Die zu konvertierende Zeichenfolge vom Typ wide_string.

first
Das erste Element in dem zu konvertierenden Elementbereich.

last
Das letzte Element in dem zu konvertierenden Elementbereich.

Hinweise

Wenn das Konvertierungsstatusobjekt nicht mit einem expliziten Wert erstellt wurde, wird es vor Beginn der Konvertierung auf den Standardwert (der ursprüngliche Konvertierungszustand) festgelegt. Andernfalls bleibt es unverändert.

Die Anzahl der erfolgreich konvertierten Eingabeelemente wird im Konvertierungsanzahlobjekt gespeichert. Wenn kein Konvertierungsfehler auftritt, gibt die Memberfunktion die konvertierte Bytezeichenfolge zurück. Wenn das Objekt mit einem Initialisierer für die Bytezeichen-Fehlermeldung erstellt wurde, gibt die Memberfunktion das Bytezeichen-Fehlermeldungsobjekt zurück. Andernfalls gibt die Memberfunktion ein Objekt der Klasse range_error aus.

wstring_convert::wide_string

Ein Typ, der eine breite Zeichenfolge darstellt.

typedef std::basic_string<Elem> wide_string;

Hinweise

Der Typ ist ein Synonym für std::basic_string<Elem>.

wstring_convert::wstring_convert

Konstruiert ein Objekt vom Typ 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());

Parameter

*Pcvt
Das Objekt des Codecvt-Typs zum Durchführen der Konvertierung.

_Staat
Das Objekt vom Typ state_type, das den Konvertierungsstatus darstellt.

_Berr
Die bei Fehlern anzuzeigende byte_string.

Werr
Die bei Fehlern anzuzeigende wide_string.

Hinweise

Der erste Konstruktor speichert Pcvt_arg im Konvertierungsobjekt.