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