wstring_convert, classe
Le modèle wstring_convert
de classe effectue des conversions entre une chaîne large et une chaîne d’octets.
Syntaxe
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
Paramètres
Codecvt
La facette locale qui représente l’objet de conversion.
Elem
Type d'élément à caractères larges.
Notes
Le modèle de classe décrit un objet qui contrôle les conversions entre les objets de chaîne large de classe std::basic_string<Elem>
et de chaîne d’octets de classe std::basic_string<char>
(également appelés std::string
). Le modèle de classe définit les types wide_string
et byte_string
en tant que synonymes pour ces deux types. La conversion entre une séquence de valeurs Elem
(stockée dans un objet wide_string
) et des séquences multioctets (stockées dans un objet byte_string
) est effectuée par un objet de classe Codecvt<Elem, char, std::mbstate_t>
, qui répond aux exigences de la facette de conversion de code standard std::codecvt<Elem, char, std::mbstate_t>
.
Un objet de ce modèle de classe stocke :
une chaîne d'octets à afficher en cas d'erreur ;
une chaîne étendue à afficher en cas d'erreur ;
un pointeur vers l’objet de conversion alloué (qui est libéré quand l’objet wbuffer_convert est détruit) ;
un objet d’état de conversion de type state_type ;
un décompte des conversions.
Constructeurs
Constructeur | Description |
---|---|
wstring_convert | Construit un objet de type wstring_convert . |
Typedefs
Nom de type | Description |
---|---|
byte_string | Type qui représente une chaîne d'octets. |
wide_string | Type qui représente une chaîne étendue. |
state_type | Type qui représente l'état de conversion. |
int_type | Type qui représente un entier. |
Fonctions Membre
Fonction membre | Description |
---|---|
from_bytes | Convertit une chaîne d'octets en chaîne étendue. |
to_bytes | Convertit une chaîne étendue en chaîne d'octets. |
converted | Retourne le nombre de conversions réussies. |
state | Retourne un objet représentant l'état de la conversion. |
Spécifications
Header :<locale>
Espace de noms : std
wstring_convert ::byte_string
Type qui représente une chaîne d'octets.
typedef std::basic_string<char> byte_string;
Notes
Le type est un synonyme de std::basic_string<char>
.
wstring_convert ::converted
Retourne le nombre de conversions réussies.
size_t converted() const;
Valeur de retour
Nombre de conversions ayant réussi.
Notes
Le nombre de conversions ayant réussi est stocké dans l'objet de compteur de conversions.
wstring_convert ::from_bytes
Convertit une chaîne d'octets en chaîne étendue.
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);
Paramètres
Byte
Séquence d'octets à élément unique à convertir.
ptr
Séquence de caractères de style C et se terminant par null à convertir.
Bstr
byte_string à convertir.
first
Premier caractère d'une plage de caractères à convertir.
last
Dernier caractère d'une plage de caractères à convertir.
Valeur de retour
Objet de chaîne étendue résultant de la conversion.
Notes
Si l’objet d’état de conversion n’a pas été construit avec une valeur explicite, il est défini sur sa valeur par défaut (état de conversion initial) avant le début de la conversion. Dans le cas contraire, il reste inchangé.
Le nombre d'éléments d'entrée convertis correctement est stocké dans l'objet de compteur de conversions. Si aucune erreur de conversion ne se produit, la fonction membre retourne la chaîne étendue convertie. Sinon, si l'objet a été construit avec un initialiseur pour le message d'erreur de chaîne étendue, la fonction membre retourne l'objet de message d'erreur de chaîne étendue. Sinon, la fonction membre lève un objet de classe range_error.
wstring_convert ::int_type
Type qui représente un entier.
typedef typename wide_string::traits_type::int_type int_type;
Notes
Le type est un synonyme de wide_string::traits_type::int_type
.
wstring_convert ::state
Retourne un objet représentant l'état de la conversion.
state_type state() const;
Valeur de retour
L’objet d’état de conversion qui représente l’état de la conversion.
Notes
wstring_convert ::state_type
Type qui représente l'état de conversion.
typedef typename Codecvt::state_type state_type;
Notes
Le type décrit un objet qui peut représenter un état de conversion. Le type est un synonyme de Codecvt::state_type
.
wstring_convert ::to_bytes
Convertit une chaîne étendue en chaîne d'octets.
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);
Paramètres
Char
Caractère large à convertir.
Wptr
Séquence de style C, se terminant par null et commençant à wptr
, à convertir.
Wstr
wide_string à convertir.
first
Premier élément dans une plage d'éléments à convertir.
last
Dernier élément dans une plage d'éléments à convertir.
Notes
Si l’objet d’état de conversion n’a pas été construit avec une valeur explicite, il est défini sur sa valeur par défaut (état de conversion initial) avant le début de la conversion. Dans le cas contraire, il reste inchangé.
Le nombre d'éléments d'entrée convertis correctement est stocké dans l'objet de compteur de conversions. Si aucune erreur de conversion ne se produit, la fonction membre retourne la chaîne d'octets convertie. Sinon, si l'objet a été construit avec un initialiseur pour le message d'erreur de chaîne d'octets, la fonction membre retourne l'objet de message d'erreur de chaîne d'octets. Sinon, la fonction membre lève un objet de classe range_error.
wstring_convert ::wide_string
Type qui représente une chaîne étendue.
typedef std::basic_string<Elem> wide_string;
Notes
Le type est un synonyme de std::basic_string<Elem>
.
wstring_convert ::wstring_convert
Construit un objet de type 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());
Paramètres
*Pcvt
Objet de type Codecvt
pour effectuer la conversion.
_État
Objet de type state_type représentant l’état de la conversion.
_Berr
byte_string à afficher en cas d’erreur.
Werr
wide_string à afficher en cas d’erreur.
Notes
Le premier constructeur stocke Pcvt_arg dans l’objet de conversion