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ón no 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ón no 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