Espacios de nombres
Variantes

std::codecvt_byname

De cppreference.com
 
 
 
<tbody> </tbody>
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.

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.

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

Ver también

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