std::wstring_convert
| Definiert in Header <locale> |
||
| template< class Codecvt, |
(seit C++11) (veraltet in C++17) (entfernt in C++26) |
|
Die Klasse std::wstring_convert führt Konvertierungen zwischen Byte-Strings (std::string) und Wide-Strings (std::basic_string<Elem>) durch und verwendet dabei eine individuelle Codekonvertierungs-Facet (Codecvt). std::wstring_convert übernimmt den Besitz der Konvertierungs-Facet und kann keine Facette verwenden, die von einer Locale verwaltet wird.
Die standardmäßigen Facetten, die für die Verwendung mit std::wstring_convert geeignet sind, sind std::codecvt_utf8 für UTF-8/UCS-2- und UTF-8/UCS-4-Konvertierungen und std::codecvt_utf8_utf16 für UTF-8/UTF-16-Konvertierungen.
Inhalt |
[bearbeiten] Verschachtelte Typen
| Typ | Definition |
byte_string
|
std::basic_string<char, std::char_traits<char>, Byte_alloc> |
wide_string
|
std::basic_string<Elem, std::char_traits<Elem>, Wide_alloc> |
state_type
|
typename Codecvt::state_type |
int_type
|
typename wide_string::traits_type::int_type |
[bearbeiten] Datenmember
| Mitglied | Beschreibung |
byte_string byte_err_string |
der Byte-String, der bei Fehlern angezeigt werden soll ((exposition-only member object*) |
wide_string wide_err_string |
der Wide-String, der bei Fehlern angezeigt werden soll ((exposition-only member object*) |
Codecvt* cvtptr |
ein Zeiger auf das allokierte Konvertierungsobjekt ((exposition-only member object*) |
state_type cvtstate |
das Konvertierungszustandsobjekt ((exposition-only member object*) |
std::size_t cvtcount |
die Konvertierungsanzahl ((exposition-only member object*) |
[bearbeiten] Member-Funktionen
konstruiert ein neues wstring_convert(public member function) | |
| operator= |
der Copy-Assignment-Operator ist gelöscht (öffentliche Memberfunktion) |
destruiert das wstring_convert und seine Konvertierungs-Facet(public member function) | |
| konvertiert einen Byte-String in einen Wide-String (public member function) | |
| konvertiert einen Wide-String in einen Byte-String (public member function) | |
| gibt die Anzahl der erfolgreich konvertierten Zeichen zurück (public member function) | |
| gibt den aktuellen Konvertierungszustand zurück (public member function) |
[bearbeiten] Siehe auch
| Zeichen Konvertierungen |
lokal definierte Multibyte-Zeichen (UTF-8, GB18030) |
UTF-8 |
UTF-16 |
|---|---|---|---|
| UTF-16 | mbrtoc16 / c16rtomb (mit C11 DR488) |
codecvt<char16_t,char,mbstate_t> |
N/A |
| UCS-2 | c16rtomb (ohne C11 DR488) | codecvt_utf8<char16_t> | codecvt_utf16<char16_t> |
| UTF-32 |
codecvt<char32_t,char,mbstate_t> |
codecvt_utf16<char32_t> | |
| System wchar_t UTF-32 (non-Windows) |
mbsrtowcs / wcsrtombs |
codecvt_utf8<wchar_t> | codecvt_utf16<wchar_t> |
| (C++11)(deprecated in C++17)(removed in C++26) |
führt Konvertierungen zwischen einem Byte-Stream-Puffer und einem Wide-Stream-Puffer durch (Klassentemplate) |
| (C++11)(deprecated in C++17)(removed in C++26) |
konvertiert zwischen UTF-8 und UCS-2/UCS-4 (Klassentemplate) |
| (C++11)(deprecated in C++17)(removed in C++26) |
konvertiert zwischen UTF-8 und UTF-16 (Klassentemplate) |