Condividi tramite


Classe wstring_convert

Il modello wstring_convert di classe esegue conversioni tra una stringa wide e una stringa di byte.

Sintassi

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

Parametri

Codecvt
Facet delle impostazioni locali che rappresenta l'oggetto di conversione.

Elem
Tipo di elemento a caratteri "wide".

Osservazioni:

Il modello di classe descrive un oggetto che controlla le conversioni tra oggetti stringa wide della classe std::basic_string<Elem> e oggetti stringa di byte della classe std::basic_string<char> (noti anche come std::string). Il modello di classe definisce i tipi wide_string e byte_string come sinonimi per questi due tipi. La conversione tra una sequenza di valori Elem (archiviati in un oggetto wide_string) e sequenze multibyte (archiviate in un oggetto byte_string) viene eseguita da un oggetto della classe Codecvt<Elem, char, std::mbstate_t>, che soddisfa i requisiti del facet standard di conversione del codice std::codecvt<Elem, char, std::mbstate_t>.

Un oggetto di questo modello di classe archivia:

  • Una stringa di byte da visualizzare in caso di errori

  • Una stringa di caratteri "wide" da visualizzare in caso di errori

  • Un puntatore all'oggetto di conversione allocato (che viene liberato quando viene eliminato definitivamente l'oggetto wbuffer_convert)

  • Un oggetto conversion state di tipo state_type

  • Un conteggio delle conversioni

Costruttori

Costruttore Descrizione
wstring_convert Costruisce un oggetto di tipo wstring_convert.

Typedef

Nome tipo Descrizione
byte_string Tipo che rappresenta una stringa di tipo byte.
wide_string Tipo che rappresenta una stringa di tipo wide.
state_type Tipo che rappresenta lo stato della conversione.
int_type Tipo che rappresenta un Integer.

Funzioni membro

Funzione membro Descrizione
from_bytes Converte una stringa di byte in una stringa di caratteri "wide".
to_bytes Converte una stringa di caratteri "wide" in una stringa di byte.
converted Restituisce il numero di conversioni riuscite.
state Restituisce un oggetto che rappresenta lo stato della conversione.

Requisiti

Intestazione:<impostazioni locali>

Spazio dei nomi: std

wstring_convert::byte_string

Tipo che rappresenta una stringa di tipo byte.

typedef std::basic_string<char> byte_string;

Osservazioni:

Il tipo è sinonimo di std::basic_string<char>.

wstring_convert::convertito

Restituisce il numero di conversioni riuscite.

size_t converted() const;

Valore restituito

Numero di conversioni riuscite.

Osservazioni:

Il numero di conversioni riuscite viene archiviato nell'oggetto del conteggio di conversione.

wstring_convert::from_bytes

Converte una stringa di byte in una stringa di caratteri "wide".

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);

Parametri

Byte
Sequenza di byte a elemento singolo da convertire.

ptr
Sequenza di caratteri con terminazione Null di tipo C da convertire.

Bstr
Oggetto byte_string da convertire.

first
Il primo carattere in un intervallo di caratteri da convertire.

last
L'ultimo carattere in un intervallo di caratteri da convertire.

Valore restituito

Oggetto stringa di caratteri "wide" risultante dalla conversione.

Osservazioni:

Se l'oggetto stato di conversione non è stato costruito con un valore esplicito, viene impostato sul valore predefinito (lo stato di conversione iniziale) prima dell'inizio della conversione. In caso contrario, verrà lasciato invariato.

Il numero di elementi di input convertiti correttamente viene archiviato nell'oggetto conteggio di conversione. Se non si verificano errori di conversione, la funzione membro restituisce la stringa di caratteri "wide" convertita. In caso contrario, se l'oggetto è stato costruito con un inizializzatore per il messaggio di errore con stringa di caratteri "wide", la funzione membro restituisce l'oggetto messaggio di errore con stringa di caratteri "wide". In caso contrario, la funzione membro genera un oggetto della classe range_error.

wstring_convert::int_type

Tipo che rappresenta un Integer.

typedef typename wide_string::traits_type::int_type int_type;

Osservazioni:

Il tipo è sinonimo di wide_string::traits_type::int_type.

wstring_convert::state

Restituisce un oggetto che rappresenta lo stato della conversione.

state_type state() const;

Valore restituito

Oggetto conversion state che rappresenta lo stato della conversione.

Osservazioni:

wstring_convert::state_type

Tipo che rappresenta lo stato della conversione.

typedef typename Codecvt::state_type state_type;

Osservazioni:

Il tipo descrive un oggetto che può rappresentare uno stato di conversione. Il tipo è sinonimo di Codecvt::state_type.

wstring_convert::to_bytes

Converte una stringa di caratteri "wide" in una stringa di 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);

Parametri

Char
Carattere wide da convertire.

Wptr
Sequenza con terminazione Null di tipo C, che inizia da wptr, da convertire.

Wstr
Oggetto wide_string da convertire.

first
Primo elemento nell'intervallo di elementi da convertire.

last
Ultimo elemento nell'intervallo di elementi da convertire.

Osservazioni:

Se l'oggetto stato di conversione non è stato costruito con un valore esplicito, viene impostato sul valore predefinito (lo stato di conversione iniziale) prima dell'inizio della conversione. In caso contrario, verrà lasciato invariato.

Il numero di elementi di input convertiti correttamente viene archiviato nell'oggetto conteggio di conversione. Se non si verificano errori di conversione, la funzione membro restituisce la stringa di byte convertita. In caso contrario, se l'oggetto è stato costruito con un inizializzatore per il messaggio di errore con stringa di byte, la funzione membro restituisce l'oggetto messaggio di errore con stringa di byte. In caso contrario, la funzione membro genera un oggetto della classe range_error.

wstring_convert::wide_string

Tipo che rappresenta una stringa di tipo wide.

typedef std::basic_string<Elem> wide_string;

Osservazioni:

Il tipo è sinonimo di std::basic_string<Elem>.

wstring_convert::wstring_convert

Costruisce un oggetto di 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());

Parametri

*Pcvt
Oggetto di tipo Codecvt per eseguire la conversione.

_Stato
Oggetto di tipo state_type che rappresenta lo stato della conversione.

_Berr
L'oggetto byte_string da visualizzare in caso di errori.

Werr
L'oggetto wide_string da visualizzare in caso di errori.

Osservazioni:

Il primo costruttore archivia Pcvt_arg nell'oggetto di conversione