Partilhar via


wstring_convert Classe

O modelo wstring_convert de classe executa conversões entre uma cadeia de caracteres ampla e uma cadeia de bytes.

Sintaxe

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

Parâmetros

Codecvt
A faceta de localidade que representa o objeto de conversão.

Elem
O tipo de elemento de caracteres largos.

Observações

O modelo de classe descreve um objeto que controla conversões entre objetos de cadeia de caracteres larga de classe std::basic_string<Elem> e objetos de cadeia de caracteres de byte de classe std::basic_string<char> (também conhecido como std::string). O modelo de classe define os tipos wide_string e byte_string como sinônimos para esses dois tipos. A conversão entre uma sequência de Elem valores (armazenada em um wide_string objeto) e sequências multibyte (armazenada em um byte_string objeto) é realizada por um objeto de classe Codecvt<Elem, char, std::mbstate_t>, que atende aos requisitos da faceta std::codecvt<Elem, char, std::mbstate_t>de conversão de código padrão.

Um objeto deste modelo de classe armazena:

  • Uma cadeia de caracteres de bytes para exibir em erros

  • Uma cadeia de caracteres ampla para exibir em erros

  • Um ponteiro para o objeto de conversão alocado (que é liberado quando o objeto wbuffer_convert é destruído)

  • Um objeto de estado de conversão do tipo state_type

  • Uma contagem de conversões

Construtores

Construtor Descrição
wstring_convert Constrói um objeto do tipo wstring_convert.

Typedefs (definições de tipos)

Nome do tipo Descrição
byte_string Um tipo que representa uma cadeia de caracteres de byte.
wide_string Um tipo que representa uma cadeia de caracteres larga.
state_type Um tipo que representa o estado de conversão.
int_type Um tipo que representa um inteiro.

Funções de membro

Função de membro Descrição
from_bytes Converte uma cadeia de caracteres de byte em uma cadeia de caracteres larga.
to_bytes Converte uma cadeia de caracteres larga em uma cadeia de caracteres de byte.
convertido Devolve o número de conversões bem-sucedidas.
estado Retorna um objeto que representa o estado da conversão.

Requerimentos

Cabeçalho:<localidade>

Espaço de nomes: std

wstring_convert::byte_string

Um tipo que representa uma cadeia de caracteres de byte.

typedef std::basic_string<char> byte_string;

Observações

O tipo é sinônimo de std::basic_string<char>.

wstring_convert::convertido

Devolve o número de conversões bem-sucedidas.

size_t converted() const;

Valor de retorno

O número de conversões bem-sucedidas.

Observações

O número de conversões bem-sucedidas é armazenado no objeto de contagem de conversões.

wstring_convert::from_bytes

Converte uma cadeia de caracteres de byte em uma cadeia de caracteres larga.

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
A sequência de bytes de elemento único a ser convertida.

ptr
A sequência de caracteres terminada em nulo no estilo C a ser convertida.

Bstr
O byte_string a ser convertido.

primeira
O primeiro caractere em um intervalo de caracteres a ser convertido.

último
O último caractere em um intervalo de caracteres a ser convertido.

Valor de retorno

Um objeto de cadeia de caracteres ampla resultante da conversão.

Observações

Se o objeto de estado de conversãonão foi construído com um valor explícito, ele é definido como seu valor padrão (o estado de conversão inicial) antes do início da conversão. Caso contrário, mantém-se inalterado.

O número de elementos de entrada convertidos com êxito é armazenado no objeto de contagem de conversão. Se nenhum erro de conversão ocorrer, a função de membro retornará a cadeia de caracteres larga convertida. Caso contrário, se o objeto foi construído com um inicializador para a mensagem de erro wide-string, a função member retornará o objeto de mensagem de erro wide-string. Caso contrário, a função de membro lança um objeto de classe range_error.

wstring_convert::int_type

Um tipo que representa um inteiro.

typedef typename wide_string::traits_type::int_type int_type;

Observações

O tipo é sinônimo de wide_string::traits_type::int_type.

wstring_convert::estado

Retorna um objeto que representa o estado da conversão.

state_type state() const;

Valor de retorno

O objeto de estado de conversão que representa o estado da conversão.

wstring_convert::state_type

Um tipo que representa o estado de conversão.

typedef typename Codecvt::state_type state_type;

Observações

O tipo descreve um objeto que pode representar um estado de conversão. O tipo é sinônimo de Codecvt::state_type.

wstring_convert::to_bytes

Converte uma cadeia de caracteres larga em uma cadeia de caracteres de byte.

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
O caractere largo a ser convertido.

Wptr
A sequência terminada em nulo no estilo C, começando em wptr, a ser convertida.

Wstr
O wide_string a ser convertido.

primeira
O primeiro elemento de uma gama de elementos a serem convertidos.

último
O último elemento de uma gama de elementos a serem convertidos.

Observações

Se o objeto de estado de conversãonão foi construído com um valor explícito, ele é definido como seu valor padrão (o estado de conversão inicial) antes do início da conversão. Caso contrário, mantém-se inalterado.

O número de elementos de entrada convertidos com êxito é armazenado no objeto de contagem de conversão. Se nenhum erro de conversão ocorrer, a função de membro retornará a cadeia de caracteres de byte convertida. Caso contrário, se o objeto foi construído com um inicializador para a mensagem de erro de cadeia de caracteres de byte, a função de membro retornará o objeto de mensagem de erro de cadeia de caracteres de byte. Caso contrário, a função de membro lança um objeto de classe range_error.

wstring_convert::wide_string

Um tipo que representa uma cadeia de caracteres larga.

typedef std::basic_string<Elem> wide_string;

Observações

O tipo é sinônimo de std::basic_string<Elem>.

wstring_convert::wstring_convert

Constrói um objeto do 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
O objeto do tipo Codecvt para executar a conversão.

_State
O objeto do tipo state_type representando o estado de conversão.

_Berr
O byte_string a ser exibido em erros.

Werr
O wide_string a ser exibido em erros.

Observações

O primeiro construtor armazena Pcvt_arg no objeto de conversão