Spec-Zone.ru › C++

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 и его фасет преобразования
(открытая функция-член)
from_bytes
преобразует строку байтов в широкую строку
(открытая функция-член)
to_bytes
преобразует широкую строку в строку байтов
(открытая функция-член)
converted
возвращает количество успешно преобразованных символов
(открытая функция-член)
state
возвращает текущее состояние преобразования
(открытая функция-член)

См. также

Преобразования
символов
многобайтовая кодировка, определяемая локалью
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb (с DR488 из C11)

codecvt<char16_t,char,mbstate_t>
codecvt_utf8_utf16<char16_t>
codecvt_utf8_utf16<char32_t>
codecvt_utf8_utf16<wchar_t>

Н/Д
UCS-2 c16rtomb (без DR488 из C11) 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>

системный wchar_t:

UTF-32 (не Windows)
UCS-2 (Windows)

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

codecvt_utf8<wchar_t> codecvt_utf16<wchar_t>
wbuffer_convert
(C++11)(устарел в C++17)(удалён в C++26)
выполняет преобразование между буфером байтового потока и буфером широкого потока
(шаблон класса)
codecvt_utf8
(C++11)(устарел в C++17)(удалён в C++26)
преобразует между UTF-8 и UCS-2/UCS-4
(шаблон класса)
codecvt_utf8_utf16
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API