Namensräume
Varianten
Aktionen

std::wstring_convert

Von cppreference.com
< cpp‎ | locale
 
 
 
 
 
Definiert in Header <locale>
template<

    class Codecvt,
    class Elem = wchar_t,
    class Wide_alloc = std::allocator<Elem>,
    class Byte_alloc = std::allocator<char>

> class wstring_convert;
(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) [bearbeiten]
operator=
der Copy-Assignment-Operator ist gelöscht
(öffentliche Memberfunktion)
destruiert das wstring_convert und seine Konvertierungs-Facet
(public member function) [bearbeiten]
konvertiert einen Byte-String in einen Wide-String
(public member function) [bearbeiten]
konvertiert einen Wide-String in einen Byte-String
(public member function) [bearbeiten]
gibt die Anzahl der erfolgreich konvertierten Zeichen zurück
(public member function) [bearbeiten]
gibt den aktuellen Konvertierungszustand zurück
(public member function) [bearbeiten]

[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>
codecvt_utf8_utf16<char16_t>
codecvt_utf8_utf16<char32_t>
codecvt_utf8_utf16<wchar_t>

N/A
UCS-2 c16rtomb (ohne C11 DR488) codecvt_utf8<char16_t> codecvt_utf16<char16_t>
UTF-32

mbrtoc32 / c32rtomb

codecvt<char32_t,char,mbstate_t>
codecvt_utf8<char32_t>

codecvt_utf16<char32_t>

System wchar_t

UTF-32 (non-Windows)
UCS-2 (Windows)

mbsrtowcs / wcsrtombs
use_facet<codecvt
<wchar_t,char,mbstate_t>>(locale)

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) [bearbeiten]
(C++11)(deprecated in C++17)(removed in C++26)
konvertiert zwischen UTF-8 und UCS-2/UCS-4
(Klassentemplate) [bearbeiten]
(C++11)(deprecated in C++17)(removed in C++26)
konvertiert zwischen UTF-8 und UTF-16
(Klassentemplate) [bearbeiten]