std::wstring_convert
Определён в заголовочном файле <locale> | ||
|---|---|---|
template<
class Codecvt,
class Elem = wchar_t,
class Wide_alloc = std::allocator<Elem>,
class Byte_alloc = std::allocator<char>
> class wstring_convert;
| (начиная с C++11) (устарел в C++17) (удалён в C++26) |
Шаблон класса std::wstring_convert выполняет преобразования между строкой байтов std::string и широкой строкой std::basic_string<Elem>, используя отдельный фасет преобразования кода Codecvt. std::wstring_convert владеет фасетом преобразования и не может использовать фасет, управляемый локалью.
Стандартные фасеты, пригодные для использования с std::wstring_convert, — это std::codecvt_utf8 для преобразований UTF-8/UCS-2 и UTF-8/UCS-4, а также std::codecvt_utf8_utf16 для преобразований UTF-8/UTF-16.
Вложенные типы
| Тип | Определение |
|---|---|
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 | typenameCodecvt::state_type |
int_type | typenamewide_string::traits_type::int_type |
Поля данных
| Поле | Описание |
|---|---|
byte_string byte_err_string | строка байтов для отображения при ошибках (экспозиционно-ориентированный объект-член*) |
wide_string wide_err_string | широкая строка для отображения при ошибках (экспозиционно-ориентированный объект-член*) |
Codecvt* cvtptr | указатель на выделенный объект преобразования (экспозиционно-ориентированный объект-член*) |
state_type cvtstate | объект состояния преобразования (экспозиционно-ориентированный объект-член*) |
std::size_t cvtcount | количество преобразований (экспозиционно-ориентированный объект-член*) |
Функции-члены
создаёт новый wstring_convert (открытая функция-член) |
|
|
operator= | оператор копирующего присваивания удалён (открытая функция-член) |
уничтожает wstring_convert и его фасет преобразования (открытая функция-член) |
|
| преобразует строку байтов в широкую строку (открытая функция-член) |
|
| преобразует широкую строку в строку байтов (открытая функция-член) |
|
| возвращает количество успешно преобразованных символов (открытая функция-член) |
|
| возвращает текущее состояние преобразования (открытая функция-член) |
См. также
| Преобразования символов | многобайтовая кодировка, определяемая локалью (UTF-8, GB18030) | UTF-8 | UTF-16 |
|---|---|---|---|
| UTF-16 |
mbrtoc16 / c16rtomb (с DR488 из C11) |
| Н/Д |
| UCS-2 |
c16rtomb (без DR488 из C11) |
codecvt_utf8<char16_t> |
codecvt_utf16<char16_t> |
| UTF-32 |
|
|
|
| системный wchar_t: UTF-32 (не Windows) |
|
codecvt_utf8<wchar_t> |
codecvt_utf16<wchar_t> |
|
(C++11)(устарел в C++17)(удалён в C++26) | выполняет преобразование между буфером байтового потока и буфером широкого потока (шаблон класса) |
|
(C++11)(устарел в C++17)(удалён в C++26) | преобразует между UTF-8 и UCS-2/UCS-4 (шаблон класса) |
|
(C++11)(устарел в C++17)(удалён в C++26) | преобразует между UTF-8 и UTF-16 (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/locale/wstring_convert