Класс wstring_convert
Шаблон wstring_convert
класса выполняет преобразования между широкой строкой и строкой байтов.
Синтаксис
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
Параметры
Codecvt
Аспект языкового стандарта, представляющий объект преобразования.
Elem
Тип двухбайтового элемента.
Замечания
Шаблон класса описывает объект, который управляет преобразованиями между широкими строковыми объектами класса и объектами строк байтов класса std::basic_string<Elem>
std::basic_string<char>
(также известными как std::string
). Шаблон класса определяет типы wide_string
и byte_string
синонимы для этих двух типов. Преобразование между последовательностями значений Elem
(хранятся в объекте wide_string
) и многобайтовыми последовательностями (хранятся в объекте byte_string
) выполняется объектом класса Codecvt<Elem, char, std::mbstate_t>
, который соответствует требованиям аспекта стандартного преобразования кода std::codecvt<Elem, char, std::mbstate_t>
.
Объект этого шаблона класса хранит:
Однобайтовую строку для отображения при ошибках
Двухбайтовую строку для отображения при ошибках
Указатель на назначенный объект преобразования (высвобождается при уничтожении объекта wbuffer_convert)
Объект состояния для преобразования типа state_type
Счетчик преобразований
Конструкторы
Конструктор | Description |
---|---|
wstring_convert | Создает объект типа wstring_convert . |
Определения типов
Введите имя | Description |
---|---|
byte_string | Тип, представляющий однобайтную строку. |
wide_string | Тип, представляющий двухбайтную строку. |
state_type | Тип, представляющий состояние преобразования. |
int_type | Тип, представляющий целое число. |
Функции элементов
Функция-член | Description |
---|---|
from_bytes | Преобразует строку однобайтовых символов в строку двухбайтовых символов. |
to_bytes | Преобразует двухбайтовую строку в однобайтовую. |
converted | Возвращает количество успешных преобразований. |
state | Возвращает объект, представляющий состояние преобразования. |
Требования
Заголовок:<языковой стандарт>
Пространство имен: std
wstring_convert::byte_string
Тип, представляющий однобайтную строку.
typedef std::basic_string<char> byte_string;
Замечания
Тип является синонимом std::basic_string<char>
.
wstring_convert::converted
Возвращает количество успешных преобразований.
size_t converted() const;
Возвращаемое значение
Число успешных преобразований.
Замечания
Число успешных преобразований хранится в объекте счетчика преобразований.
wstring_convert::from_bytes
Преобразует строку однобайтовых символов в строку двухбайтовых символов.
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);
Параметры
Byte
Последовательность одноэлементных байт для преобразования.
ptr
Последовательность символов в стиле С, оканчивающаяся нулем, для преобразования.
Bstr
Строка byte_string для преобразования.
first
Первый символ в диапазоне символов для преобразования.
last
Последний символ в диапазоне символов для преобразования.
Возвращаемое значение
Объект строки двухбайтовых символов, полученный в результате преобразования.
Замечания
Если объект состояния преобразования не был создан с явным значением, он имеет значение по умолчанию (начальное состояние преобразования) перед началом преобразования. В противном случае он остается неизменным.
Число успешно преобразованных входных элементов сохраняется в объекте счетчика преобразований. При отсутствии ошибок преобразования функция-член возвращает преобразованную двухбайтовую строку. В противном случае, если объект был создан с помощью инициализатора сообщения об ошибке в двухбайтовой строке, функция-член возвращает объект сообщения об ошибке в двухбайтовой строке. В противном случае функция-член создает объект класса range_error.
wstring_convert::int_type
Тип, представляющий целое число.
typedef typename wide_string::traits_type::int_type int_type;
Замечания
Тип является синонимом wide_string::traits_type::int_type
.
wstring_convert::state
Возвращает объект, представляющий состояние преобразования.
state_type state() const;
Возвращаемое значение
Объект состояния преобразования, который представляет состояние преобразования.
Замечания
wstring_convert::state_type
Тип, представляющий состояние преобразования.
typedef typename Codecvt::state_type state_type;
Замечания
Тип описывает объект, который может представлять состояние преобразования. Тип является синонимом Codecvt::state_type
.
wstring_convert::to_bytes
Преобразует двухбайтовую строку в однобайтовую.
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);
Параметры
Char
Расширенный символ для преобразования.
Wptr
Последовательность в стиле C, оканчивающаяся нулем, начинающаяся с wptr
, для преобразования.
Wstr
Строка wide_string для преобразования.
first
Первый элемент в диапазоне преобразуемых элементов.
last
Последний элемент в диапазоне преобразуемых элементов.
Замечания
Если объект состояния преобразования не был создан с явным значением, он имеет значение по умолчанию (начальное состояние преобразования) перед началом преобразования. В противном случае он остается неизменным.
Число успешно преобразованных входных элементов сохраняется в объекте счетчика преобразований. При отсутствии ошибок преобразования, функция-член возвращает преобразованную однобайтовую строку. В противном случае, если объект был создан с помощью инициализатора сообщения об ошибке в однобайтовой строке, функция-член возвращает объект сообщения об ошибке в однобайтовой строке. В противном случае функция-член создает объект класса range_error.
wstring_convert::wide_string
Тип, представляющий двухбайтную строку.
typedef std::basic_string<Elem> wide_string;
Замечания
Тип является синонимом std::basic_string<Elem>
.
wstring_convert::wstring_convert
Создает объект типа 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());
Параметры
*Pcvt
Объект типа Codecvt
для выполнения преобразования.
_Государство
Объект типа state_type, представляющий состояние преобразования.
_Berr
Объект byte_string для отображения ошибок.
Werr
Объект wide_string для отображения ошибок.
Замечания
Первый конструктор сохраняет Pcvt_arg в объекте преобразования