Partager via


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