Compartir vía


wstring_convert (Clase)

La plantilla de clase wstring_convert realiza conversiones entre una cadena de caracteres anchos y una cadena de bytes.

Sintaxis

template <class Codecvt, class Elem = wchar_t>
class wstring_convert

Parámetros

Codecvt
La faceta locale que representa el objeto de conversión.

Elem
Tipo de elemento de carácter ancho.

Comentarios

La plantilla de clase describe un objeto que controla las conversiones entre objetos de cadena de caracteres anchos de la clase std::basic_string<Elem> y objetos de cadena de bytes de la clase std::basic_string<char> (también conocida como std::string). La plantilla de clase define los tipos wide_string y byte_string como sinónimos de estos dos tipos. La conversión entre una secuencia de valores Elem (almacenada en un objeto wide_string) y las secuencias multibyte (almacenadas en un objeto byte_string) se realiza con un objeto de clase Codecvt<Elem, char, std::mbstate_t>, que cumple los requisitos de la faceta de conversión de código estándar std::codecvt<Elem, char, std::mbstate_t>.

Un objeto de esta plantilla de clase almacena lo siguiente:

  • Una cadena de bytes que se mostrará al producirse errores

  • Una cadena caracteres anchos que se mostrará al producirse errores

  • Un puntero al objeto de conversión asignado (que se libera cuando el objeto wbuffer_convert se destruye)

  • Un objeto de estado de la conversión de tipo state_type

  • Un recuento de conversión

Constructores

Constructor Descripción
wstring_convert Construye un objeto de tipo wstring_convert.

Typedefs

Nombre de tipo Descripción
byte_string Tipo que representa una cadena de bytes.
wide_string Tipo que representa una cadena de caracteres anchos.
state_type Tipo que representa el estado de la conversión.
int_type Tipo que representa un número entero.

Funciones miembro

Función de miembro Descripción
from_bytes Convierte una cadena de bytes en una cadena de caracteres anchos.
to_bytes Convierte una cadena de caracteres anchos en una cadena de bytes.
converted Devuelve el número de conversiones correctas.
state Devuelve un objeto que representa el estado de la conversión.

Requisitos

Encabezado:<locale>

Espacio de nombres: std

wstring_convert::byte_string

Tipo que representa una cadena de bytes.

typedef std::basic_string<char> byte_string;

Comentarios

El tipo es un sinónimo de std::basic_string<char>.

wstring_convert::converted

Devuelve el número de conversiones correctas.

size_t converted() const;

Valor devuelto

Número de conversiones correctas.

Comentarios

El número de conversiones correctas se almacena en el objeto de recuento de conversión.

wstring_convert::from_bytes

Convierte una cadena de bytes en una cadena de caracteres anchos.

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);

Parámetros

Byte
La secuencia de bytes de un solo elemento que se van a convertir.

ptr
La secuencia de caracteres de estilo C terminada en null que se va a convertir.

Bstr
La byte_string que se va a convertir.

first
El primer carácter de un intervalo de caracteres que se va convertir.

last
El último carácter de un intervalo de caracteres que se va convertir.

Valor devuelto

Un objeto de cadena de caracteres anchos resultante de la conversión.

Comentarios

Si el objeto de estado de conversiónno se construyó con un valor explícito, se configura con su valor predeterminado (el estado inicial de la conversión) antes de comenzar la conversión. En caso contrario, se deja sin modificar.

El número de elementos de entrada convertidos correctamente se almacena en el objeto de recuento de conversión. Si no se produce ningún error de conversión, la función miembro devuelve la cadena de caracteres anchos convertida. De lo contrario, si el objeto se construyó con un inicializador para el mensaje de error de la cadena de caracteres anchos, la función miembro devolverá el objeto de mensaje de error de cadena de caracteres anchos. De lo contrario, la función miembro producirá un objeto de la clase range_error.

wstring_convert::int_type

Tipo que representa un número entero.

typedef typename wide_string::traits_type::int_type int_type;

Comentarios

El tipo es un sinónimo de wide_string::traits_type::int_type.

wstring_convert::state

Devuelve un objeto que representa el estado de la conversión.

state_type state() const;

Valor devuelto

El objeto de estado de la conversión que representa el estado de la conversión.

Comentarios

wstring_convert::state_type

Tipo que representa el estado de la conversión.

typedef typename Codecvt::state_type state_type;

Comentarios

El tipo describe un objeto que puede representar un estado de conversión. El tipo es un sinónimo de Codecvt::state_type.

wstring_convert::to_bytes

Convierte una cadena de caracteres anchos en una cadena de 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);

Parámetros

Char
El carácter ancho que se va a convertir.

Wptr
La secuencia de estilo C terminada en null que empieza en wptr y que se va a convertir.

Wstr
La wide_string que se va a convertir.

first
El primer elemento del intervalo de elementos que se va a convertir.

last
El último elemento del intervalo de elementos que se va a convertir.

Comentarios

Si el objeto de estado de conversiónno se construyó con un valor explícito, se configura con su valor predeterminado (el estado inicial de la conversión) antes de comenzar la conversión. En caso contrario, se deja sin modificar.

El número de elementos de entrada convertidos correctamente se almacena en el objeto de recuento de conversión. Si no se produce ningún error de conversión, la función miembro devuelve la cadena de bytes convertida. De lo contrario, si el objeto se construyó con un inicializador para el mensaje de error de la cadena de bytes, la función miembro devolverá el objeto de mensaje de error de cadena de bytes. De lo contrario, la función miembro producirá un objeto de la clase range_error.

wstring_convert::wide_string

Tipo que representa una cadena de caracteres anchos.

typedef std::basic_string<Elem> wide_string;

Comentarios

El tipo es un sinónimo de std::basic_string<Elem>.

wstring_convert::wstring_convert

Construye un objeto de tipo 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());

Parámetros

*Pcvt
Objeto de tipo Codecvt que va a realizar la conversión.

_State
El objeto de tipo state_type que representa el estado de la conversión.

_Berr
La byte_string que se mostrará al producirse errores.

Werr
La wide_string que se mostrará al producirse errores.

Comentarios

El primer constructor almacena Pcvt_arg en el objeto de conversión