Classe wstring_convert
O modelo de classe wstring_convert
que executa conversões entre uma cadeia de caracteres larga e uma cadeia de caracteres de bytes.
Sintaxe
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
Parâmetros
Codecvt
A faceta de locale que representa o objeto de conversão.
Elem
O tipo de elemento de caractere largo.
Comentários
O modelo de classe descreve um objeto que controla conversões entre objetos de cadeia de caracteres amplos da classe std::basic_string<Elem>
e objetos de cadeia de caracteres de bytes da 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 desses dois tipos. A conversão entre uma sequência de valores Elem
(armazenada em um objeto wide_string
) e as sequências multibyte (armazenadas em um objeto byte_string
) é executada por um objeto da classe Codecvt<Elem, char, std::mbstate_t>
, que atende aos requisitos da faceta de conversão de código padrão std::codecvt<Elem, char, std::mbstate_t>
.
Um objeto deste modelo de classe armazena:
Uma cadeia de caracteres de bytes para ser exibida em caso de erros
Uma cadeia de caracteres largos para ser exibida em caso de erros
Um ponteiro para o objeto de conversão alocado (que é liberado quando o objeto wbuffer_convert é destruído)
Um objeto do estado da 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
Nome do tipo | Descrição |
---|---|
byte_string | Um tipo que representa uma cadeia de caracteres de bytes. |
wide_string | Um tipo que representa uma cadeia de caracteres largos. |
state_type | Um tipo que representa o estado da conversão. |
int_type | Um tipo que representa um número inteiro. |
Funções de membro
Função de membro | Descrição |
---|---|
from_bytes | Converte uma cadeia de caracteres de bytes em uma cadeia de caracteres largos. |
to_bytes | Converte uma cadeia de caracteres largos em uma cadeia de caracteres de bytes. |
converted | Retorna o número de conversões bem-sucedidas. |
state | Retorna um objeto que representa o estado da conversão. |
Requisitos
Cabeçalho:<locale>
Namespace: std
wstring_convert::byte_string
Um tipo que representa uma cadeia de caracteres de bytes.
typedef std::basic_string<char> byte_string;
Comentários
O tipo é um sinônimo de std::basic_string<char>
.
wstring_convert::convertido
Retorna o número de conversões bem-sucedidas.
size_t converted() const;
Valor de retorno
O número de conversões bem-sucedidas.
Comentários
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 bytes em uma cadeia de caracteres largos.
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 de estilo C a ser convertida.
Bstr
A byte_string a ser convertida.
first
O primeiro caractere em um intervalo de caracteres a ser convertido.
last
O último caractere em um intervalo de caracteres a ser convertido.
Valor de retorno
Um objeto de cadeia de caracteres largos resultante da conversão.
Comentários
Se o objeto do estado da conversão não for construído com um valor explícito, ele será definido como seu valor padrão (o estado inicial da conversão) antes do início da conversão. Caso contrário, ele permanecerá inalterado.
O número de elementos de entrada convertidos com êxito é armazenado no objeto de contagem de conversões. Se não houver erro de conversão, a função membro retornará a cadeia de caracteres largos convertida. Caso contrário, se o objeto for construído com um inicializador para a mensagem de erro de cadeia de caracteres largos, a função membro retornará o objeto da mensagem de erro de cadeia de caracteres largos. Caso contrário, a função membro gerará um objeto da classe range_error.
wstring_convert::int_type
Um tipo que representa um número inteiro.
typedef typename wide_string::traits_type::int_type int_type;
Comentários
O tipo é um 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 do estado da conversão que representa o estado da conversão.
Comentários
wstring_convert::state_type
Um tipo que representa o estado da conversão.
typedef typename Codecvt::state_type state_type;
Comentários
O tipo descreve um objeto que pode representar o estado da conversão. O tipo é um sinônimo de Codecvt::state_type
.
wstring_convert::to_bytes
Converte uma cadeia de caracteres largos em uma cadeia de caracteres 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
O caractere largo a ser convertido.
Wptr
A sequência de caracteres terminada em nulo de estilo C, começando em wptr
, a ser convertida.
Wstr
A wide_string a ser convertida.
first
O primeiro elemento em um intervalo de elementos a ser convertido.
last
O último elemento em um intervalo de elementos a ser convertido.
Comentários
Se o objeto do estado da conversão não for construído com um valor explícito, ele será definido como seu valor padrão (o estado inicial da conversão) antes do início da conversão. Caso contrário, ele permanecerá inalterado.
O número de elementos de entrada convertidos com êxito é armazenado no objeto de contagem de conversões. Se não houver erro de conversão, a função membro retornará a cadeia de caracteres de bytes convertida. Caso contrário, se o objeto for construído com um inicializador para a mensagem de erro de cadeia de caracteres de bytes, a função membro retornará o objeto da mensagem de erro de cadeia de caracteres de bytes. Caso contrário, a função membro gerará um objeto da classe range_error.
wstring_convert::wide_string
Um tipo que representa uma cadeia de caracteres largos.
typedef std::basic_string<Elem> wide_string;
Comentários
O tipo é um 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 que representa o estado da conversão.
_Berr
Uma byte_string para ser exibida em caso de erros.
Werr
Uma wide_string para ser exibida em caso de erros.
Comentários
O primeiro construtor armazena Pcvt_arg no objeto de conversão