Namespaces
Variants

std:: basic_ofstream

From cppreference.net
< cpp ‎ | io
Défini dans l'en-tête <fstream>
template <

class CharT,
class Traits = std:: char_traits < CharT >

> class basic_ofstream : public std:: basic_ostream < CharT, Traits >

Le modèle de classe basic_ofstream implémente des opérations de sortie de haut niveau sur les flux basés sur des fichiers. Il interface un tampon de flux basé sur fichier ( std::basic_filebuf ) avec l'interface de haut niveau de ( std::basic_ostream ).

Une implémentation typique de std::basic_ofstream ne contient qu'un seul membre de données non dérivé : une instance de std:: basic_filebuf < CharT, Traits > .

cpp/io/ios base cpp/io/basic ios cpp/io/basic ostream std-basic ofstream-inheritance.svg

Diagramme d'héritage

Plusieurs typedefs pour les types de caractères courants sont fournis :

Défini dans l'en-tête <fstream>
Type Définition
std::ofstream std :: basic_ofstream < char >
std::wofstream std :: basic_ofstream < wchar_t >

Table des matières

Types membres

Type de membre Définition
char_type CharT
traits_type Traits ; le programme est mal formé si Traits::char_type n'est pas CharT .
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type
native_handle_type (C++26) type défini par l'implémentation qui est TriviallyCopyable et semiregular

Fonctions membres

construit le flux de fichier
(fonction membre publique)
(destructor)
[virtual] (implicitly declared)
détruit le basic_ofstream et le tampon associé, ferme le fichier
(fonction membre publique virtuelle)
(C++11)
déplace le flux de fichier
(fonction membre publique)
(C++11)
échange deux flux de fichiers
(fonction membre publique)
retourne l'objet de périphérique de fichier brut sous-jacent
(fonction membre publique)
retourne le descripteur sous-jacent défini par l'implémentation
(fonction membre publique)
Opérations sur les fichiers
vérifie si le flux a un fichier associé
(fonction membre publique)
ouvre un fichier et l'associe au flux
(fonction membre publique)
ferme le fichier associé
(fonction membre publique)

Fonctions non membres

spécialise l'algorithme std::swap
(modèle de fonction)

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 de base pour la préparation du flux aux 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 les sorties numériques non négatives : 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)

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_fstream_native_handle 202306L (C++26) Prise en charge des handles natifs

Exemple

#include <fstream>
#include <iostream>
#include <string>
int main()
{
    std::string filename = "Test.b";
    {
        std::ofstream ostrm(filename, std::ios::binary);
        double d = 3.14;
        ostrm.write(reinterpret_cast<char*>(&d), sizeof d); // sortie binaire
        ostrm << 123 << "abc" << '\n';                      // sortie texte
    }
    // relecture
    std::ifstream istrm(filename, std::ios::binary);
    double d;
    istrm.read(reinterpret_cast<char*>(&d), sizeof d);
    int n;
    std::string s;
    istrm >> n >> s;
    std::cout << " read back: " << d << ' ' << n << ' ' << s << '\n';
}

Sortie :

read back: 3.14 123 abc