Espacios de nombres
Variantes
Acciones

std::codecvt_byname

De cppreference.com
< cpp‎ | locale
 
 
 
Definido en el archivo de encabezado <locale>
template< class internT, class externT, class stateT >
class codecvt_byname : public std::codecvt<internT, externT, stateT>;
std::codecvt_byname es una faceta std::codecvt que encapsula las reglas de carácter multibyte / ancho de conversión de una configuración regional especificada en su construcción .
Original:
std::codecvt_byname is a std::codecvt facet which encapsulates multibyte/wide character conversion rules of a locale specified at its construction.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Cuatro especialidades son proporcionados por la biblioteca estándar
Original:
Four specializations are provided by the standard library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definido en el archivo de encabezado <locale>
std::codecvt_byname<char, char, std::mbstate_t>
identidad de conversión
Original:
identity conversion
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
std::codecvt_byname<char16_t, char, std::mbstate_t>
conversión entre UTF-16 y UTF-8 (desde C++11)
Original:
conversion between UTF-16 and UTF-8 (desde C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
std::codecvt_byname<char32_t, char, std::mbstate_t>
conversión entre UTF-32 y UTF-8 (desde C++11)
Original:
conversion between UTF-32 and UTF-8 (desde C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
std::codecvt_byname<wchar_t, char, std::mbstate_t>
específico de la localidad de conversión entre la cadena y la cadena de ancho estrecho, posiblemente multibyte
Original:
locale-specific conversion between wide string and narrow, possibly multibyte, string
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

[editar] Las funciones miembro

construye una nueva faceta codecvt_byname
Original:
constructs a new codecvt_byname facet
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública)
destructs una faceta codecvt_byname
Original:
destructs a codecvt_byname facet
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro protegida)

Heredado de std::codecvt

Member types

Miembro de tipo
Original:
Member type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
intern_type internT
extern_type externT
state_type stateT

Member objects

Persona
Original:
Member name
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Type
id (estático) std::locale::id

Member functions

Invoca do_out
Original:
invokes do_out
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]
Invoca do_in
Original:
invokes do_in
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]
Invoca do_unshift
Original:
invokes do_unshift
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]
Invoca do_encoding
Original:
invokes do_encoding
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]
Invoca do_always_noconv
Original:
invokes do_always_noconv
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]
Invoca do_length
Original:
invokes do_length
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]
Invoca do_max_length
Original:
invokes do_max_length
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::codecvt) [editar]

Protected member functions

[virtual]
convierte una cadena de internt a externT, tales como cuando se escribe en el archivo
Original:
converts a string from internT to externT, such as when writing to file
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]
[virtual]
convierte una cadena de externT a internt, como cuando al leer el archivo
Original:
converts a string from externT to internT, such as when reading from file
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]
[virtual]
genera la secuencia de caracteres de terminación de caracteres externT para la conversión incompleta
Original:
generates the termination character sequence of externT characters for incomplete conversion
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]
[virtual]
devuelve el número de caracteres externT necesarias para producir un carácter internt, si es constante
Original:
returns the number of externT characters necessary to produce one internT character, if constant
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]
Comprueba si la faceta codifica una conversión de identidad para todos los valores de los argumentos válidos
Original:
tests if the facet encodes an identity conversion for all valid argument values
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]
[virtual]
calcula la longitud de la cadena externT que sería consumida por conversión en tampón internt dado
Original:
calculates the length of the externT string that would be consumed by conversion into given internT buffer
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]
devuelve el número máximo de caracteres externT que se podrían transformar en un único carácter internt
Original:
returns the maximum number of externT characters that could be converted into a single internT character
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida de std::codecvt) [editar]


Heredado de std::codecvt_base

Miembro de tipo
Original:
Member type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
enum result { ok, partial, error, noconv };
Tipo de enumeración sin ámbito
Original:
Unscoped enumeration type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Enumeración constante
Original:
Enumeration constant
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
ok
conversión se completó con ningún error
Original:
conversion was completed with no error
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
partial
no todos los caracteres de código se convirtieron
Original:
not all source characters were converted
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
error
encontró un carácter no válido
Original:
encountered an invalid character
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
noconv
sin necesidad de conversión, tipos de entrada y salida son los mismos
Original:
no conversion required, input and output types are the same
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Ejemplo

Este ejemplo demuestra la lectura de un archivo con codificación GB18030 mediante la faceta codecvt de un local GB18030-aware
Original:
This example demonstrates reading a GB18030-encoded file using the codecvt facet from a GB18030-aware locale
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <iostream>
#include <fstream>
#include <string>
#include <locale>
int main()
{
    // GB18030 narrow multibyte encoding
    std::ofstream("text.txt") << "\x7a"              // letter 'z', U+007a
                                 "\x81\x30\x89\x38"  // letter 'ß', U+00df
                                 "\xcb\xae"          // CJK ideogram '水' (water), U+6c34
                                 "\x94\x32\xbc\x35"; // musical sign '𝄋' (segno), U+1d10b
    std::wifstream fin("text.txt");
    fin.imbue(std::locale(fin.getloc(),
              new std::codecvt_byname<wchar_t, char, std::mbstate_t>("zh_CN.gb18030")));
    for(wchar_t c; fin.get(c); )
        std::cout << std::hex << std::showbase << c << '\n';
}

Salida:

0x7a
0xdf
0x6c34
0x1d10b

[editar] Ver también

Convierte entre codificaciones de caracteres, incluyendo UTF-8, UTF-16, UTF-32.
(plantilla de clase) [editar]