std:: basic_ofstream
|
Défini dans l'en-tête
<fstream>
|
||
|
template
<
class
CharT,
|
||
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
>
.
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) |
|
|
(C++26)
|
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
|
(C++11)
|
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
)
|
|
|
[static]
|
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 :
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
Type des indicateurs de formatage
Les constantes suivantes sont également définies :
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
type d'état du flux
Les constantes suivantes sont également définies :
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
Type de direction de positionnement
Les constantes suivantes sont également définies :
(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