Namespaces
Variants

std:: strstream

From cppreference.net
< cpp ‎ | io
Défini dans l'en-tête <strstream>
class strstream : public std:: iostream
(déprécié en C++98)
(supprimé en C++26)

La classe strstream implémente les opérations d'entrée et de sortie sur des flux basés sur des tableaux. Elle encapsule essentiellement une implémentation de dispositif d'E/S de tableau brut ( std::strstreambuf ) dans l'interface de haut niveau de std::basic_iostream .

L'implémentation typique de strstream ne contient qu'un seul membre de données non dérivé : un objet de type std::strstreambuf .

Table des matières

Notes

Après tout appel à str() , un appel à freeze(false) est requis pour permettre au destructeur de désallouer le tampon si nécessaire.

Avant tout appel à str() qui utilise le résultat comme une chaîne de caractères C, le tampon doit être terminé par un caractère nul, généralement avec std::ends .

strstream est déprécié depuis C++98 et supprimé depuis C++26. std::stringstream , std::spanstream (depuis C++23) , et boost::iostreams::array sont les remplacements recommandés.

Fonctions membres

construit un objet strstream , allouant optionnellement le tampon
(fonction membre publique)
[virtual]
détruit un objet strstream , désallouant optionnellement le tampon
(fonction membre publique virtuelle)
obtient un pointeur vers le strstreambuf associé
(fonction membre publique)
accède au tampon de sortie
(fonction membre publique)
désactive/active la réallocation automatique
(fonction membre publique)
obtient le nombre de caractères écrits
(fonction membre publique)

Hérité de std:: basic_istream

Fonctions membres

Entrée formatée
extrait des données formatées
(fonction membre publique de std::basic_istream<CharT,Traits> )
Entrée non formatée
extrait des caractères
(fonction membre publique de std::basic_istream<CharT,Traits> )
lit le caractère suivant sans l'extraire
(fonction membre publique de std::basic_istream<CharT,Traits> )
réinjecte un caractère
(fonction membre publique de std::basic_istream<CharT,Traits> )
replace un caractère dans le flux d'entrée
(fonction membre publique de std::basic_istream<CharT,Traits> )
extrait des caractères jusqu'à trouver le caractère donné
(fonction membre publique de std::basic_istream<CharT,Traits> )
extrait et ignore des caractères jusqu'à trouver le caractère donné
(fonction membre publique de std::basic_istream<CharT,Traits> )
extrait des blocs de caractères
(fonction membre publique de std::basic_istream<CharT,Traits> )
extrait des blocs de caractères déjà disponibles
(fonction membre publique de std::basic_istream<CharT,Traits> )
retourne le nombre de caractères extraits par la dernière opération d'entrée non formatée
(fonction membre publique de std::basic_istream<CharT,Traits> )
Positionnement
retourne l'indicateur de position d'entrée
(fonction membre publique de std::basic_istream<CharT,Traits> )
définit l'indicateur de position d'entrée
(fonction membre publique de std::basic_istream<CharT,Traits> )
Divers
synchronise avec le dispositif de stockage sous-jacent
(fonction membre publique de std::basic_istream<CharT,Traits> )

Classes membres

implémente la logique basique pour la préparation du flux aux opérations d'entrée
(classe membre publique de std::basic_istream<CharT,Traits> )

Hérité de std:: basic_ostream

Fonctions membres

Sortie formatée
insère des données formatées
(fonction membre publique de std::basic_ostream<CharT,Traits> )
Sortie non formatée
insère un caractère
(fonction membre publique de std::basic_ostream<CharT,Traits> )
insère des blocs de caractères
(fonction membre publique de std::basic_ostream<CharT,Traits> )
Positionnement
retourne l'indicateur de position de sortie
(fonction membre publique de std::basic_ostream<CharT,Traits> )
définit l'indicateur de position de sortie
(fonction membre publique de std::basic_ostream<CharT,Traits> )
Divers
synchronise avec le dispositif de stockage sous-jacent
(fonction membre publique de std::basic_ostream<CharT,Traits> )

Classes membres

implémente la logique basique pour la préparation du flux pour les opérations de sortie
(classe membre publique de std::basic_ostream<CharT,Traits> )

Hérité de std:: basic_ios

Types membres

Type membre Définition
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Fonctions membres

Fonctions d'état
vérifie qu'aucune erreur ne s'est produite, c'est-à-dire que les opérations d'E/S sont disponibles
(fonction membre publique de std::basic_ios<CharT,Traits> )
vérifie si la fin de fichier a été atteinte
(fonction membre publique de std::basic_ios<CharT,Traits> )
vérifie si une erreur s'est produite
(fonction membre publique de std::basic_ios<CharT,Traits> )
vérifie si une erreur non récupérable s'est produite
(fonction membre publique de std::basic_ios<CharT,Traits> )
vérifie si une erreur s'est produite (synonyme de fail() )
(fonction membre publique de std::basic_ios<CharT,Traits> )
vérifie qu'aucune erreur ne s'est produite (synonyme de ! fail() )
(fonction membre publique de std::basic_ios<CharT,Traits> )
retourne les indicateurs d'état
(fonction membre publique de std::basic_ios<CharT,Traits> )
définit les indicateurs d'état
(fonction membre publique de std::basic_ios<CharT,Traits> )
modifie les indicateurs d'état
(fonction membre publique de std::basic_ios<CharT,Traits> )
Formatage
copie les informations de formatage
(fonction membre publique de std::basic_ios<CharT,Traits> )
gère le caractère de remplissage
(fonction membre publique de std::basic_ios<CharT,Traits> )
Divers
gère le masque d'exceptions
(fonction membre publique de std::basic_ios<CharT,Traits> )
définit la locale
(fonction membre publique de std::basic_ios<CharT,Traits> )
gère le tampon de flux associé
(fonction membre publique de std::basic_ios<CharT,Traits> )
gère le flux lié
(fonction membre publique de std::basic_ios<CharT,Traits> )
rétrécit les caractères
(fonction membre publique de std::basic_ios<CharT,Traits> )
élargit les caractères
(fonction membre publique de std::basic_ios<CharT,Traits> )

Hérité de std:: ios_base

Fonctions membres

Formatage
gère les indicateurs de format
(fonction membre publique de std::ios_base )
définit un indicateur de format spécifique
(fonction membre publique de std::ios_base )
efface un indicateur de format spécifique
(fonction membre publique de std::ios_base )
gère la précision décimale des opérations en virgule flottante
(fonction membre publique de std::ios_base )
gère la largeur du champ
(fonction membre publique de std::ios_base )
Locales
définit la locale
(fonction membre publique de std::ios_base )
retourne la locale actuelle
(fonction membre publique de std::ios_base )
Tableau extensible interne
[static]
retourne un entier unique à l'échelle du programme qui peut être utilisé en toute sécurité comme index pour pword() et iword()
(fonction membre statique publique de std::ios_base )
redimensionne le stockage privé si nécessaire et accède à l'élément long à l'index donné
(fonction membre publique de std::ios_base )
redimensionne le stockage privé si nécessaire et accède à l'élément void * à l'index donné
(fonction membre publique de std::ios_base )
Divers
enregistre la fonction de rappel d'événement
(fonction membre publique de std::ios_base )
définit si les bibliothèques d'E/S C++ et C sont interopérables
(fonction membre statique publique de std::ios_base )
Classes membres
exception de flux
(classe membre publique de std::ios_base )
initialise les objets de flux standard
(classe membre publique de std::ios_base )

Types membres et constantes

Type Explication
type de mode d'ouverture de flux

Les constantes suivantes sont également définies :

Constante Explication
app se positionner à la fin du flux avant chaque écriture
binary ouvrir en mode binaire
in ouvrir en lecture
out ouvrir en écriture
trunc vider le contenu du flux lors de l'ouverture
ate se positionner à la fin du flux immédiatement après l'ouverture
noreplace (C++23) ouvrir en mode exclusif

(typedef)
Type des indicateurs de formatage

Les constantes suivantes sont également définies :

Constante Explication
dec utilise la base décimale pour les E/S entières : voir std::dec
oct utilise la base octale pour les E/S entières : voir std::oct
hex utilise la base hexadécimale pour les E/S entières : voir std::hex
basefield dec | oct | hex . Utile pour les opérations de masquage
left alignement à gauche (ajoute des caractères de remplissage à droite) : voir std::left
right alignement à droite (ajoute des caractères de remplissage à gauche) : voir std::right
internal alignement interne (ajoute des caractères de remplissage au point désigné interne) : voir std::internal
adjustfield left | right | internal . Utile pour les opérations de masquage
scientific génère les types à virgule flottante en utilisant la notation scientifique, ou la notation hexadécimale si combiné avec fixed : voir std::scientific
fixed génère les types à virgule flottante en utilisant la notation fixe, ou la notation hexadécimale si combiné avec scientific : voir std::fixed
floatfield scientific | fixed . Utile pour les opérations de masquage
boolalpha insère et extrait le type bool en format alphanumérique : voir std::boolalpha
showbase génère un préfixe indiquant la base numérique pour la sortie entière, requiert l'indicateur monétaire dans les E/S monétaires : voir std::showbase
showpoint génère un caractère point décimal inconditionnellement pour la sortie des nombres à virgule flottante : voir std::showpoint
showpos génère un caractère + pour la sortie numérique non négative : voir std::showpos
skipws ignore les espaces blancs initiaux avant certaines opérations d'entrée : voir std::skipws
unitbuf vide le tampon de sortie après chaque opération de sortie : voir std::unitbuf
uppercase remplace certaines lettres minuscules par leurs équivalents majuscules dans certaines opérations de sortie : voir std::uppercase

(typedef)
type d'état du flux

Les constantes suivantes sont également définies :

Constante Explication
goodbit aucune erreur
badbit erreur irrécupérable du flux
failbit échec de l'opération d'entrée/sortie (erreur de formatage ou d'extraction)
eofbit la séquence d'entrée associée a atteint la fin du fichier

(typedef)
Type de direction de positionnement

Les constantes suivantes sont également définies :

Constante Explication
beg le début d'un flux
end la fin d'un flux
cur la position actuelle de l'indicateur de position du flux

(typedef)
spécifie le type d'événement
(enum)
type de fonction de rappel
(typedef)