La classe basic_ofstream
Décrit un objet qui contrôle l’insertion d’éléments et d’objets encodés dans une mémoire tampon de flux de classe basic_filebuf< Elem, Tr>
, avec des éléments de type Elem
, dont les caractéristiques de caractère sont déterminées par la classe Tr
. Pour plus d’informations, consultez basic_filebuf
.
Syntaxe
template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<Elem, Tr>
Paramètres
Elem
Élément de base de la mémoire tampon de fichier.
Tr
Caractéristiques de l’élément de base de la mémoire tampon de fichier (généralement char_traits<Elem>
).
Notes
Lorsque la wchar_t
spécialisation des basic_ofstream
écritures dans le fichier est ouverte en mode texte, elle écrit une séquence MBCS. La représentation interne utilisera une mémoire tampon de caractères wchar_t
.
L'objet stocke un objet de classe basic_filebuf< Elem, Tr>
.
Exemple
L'exemple suivant montre comment créer un objet basic_ofstream
et y écrire du texte.
// basic_ofstream_class.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
ofstream ofs("ofstream.txt");
if (!ofs.bad())
{
ofs << "Writing to a basic_ofstream object..." << endl;
ofs.close();
}
}
Constructeurs
Constructeur | Description |
---|---|
basic_ofstream |
Crée un objet de type basic_ofstream . |
Fonctions Membre
Fonction membre | Description |
---|---|
close |
Ferme un fichier. |
is_open |
Détermine si un fichier est ouvert. |
open |
Ouvre un fichier. |
rdbuf |
Retourne l'adresse de la mémoire tampon de flux stockée. |
swap |
Échange le contenu de ce basic_ofstream avec le contenu du basic_ofstream fourni. |
Opérateurs
Opérateur | Description |
---|---|
operator= |
Assigne le contenu de cet objet de flux. Il s’agit d’une affectation de déplacement impliquant une rvalue reference opération qui ne laisse pas de copie derrière elle. |
Spécifications
En-tête : <fstream>
Espace de noms : std
basic_ofstream::basic_ofstream
Crée un objet de type basic_ofstream
.
basic_ofstream();
explicit basic_ofstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
explicit basic_ofstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
basic_ofstream(
basic_ofstream&& right);
Paramètres
_Filename
Nom du fichier à ouvrir.
_Mode
L’une des énumérations dans ios_base::openmode
.
_Prot
Protection d’ouverture de fichier par défaut, équivalente au shflag
paramètre dans _fsopen
, _wfsopen
.
right
Référence rvalue à l’objet basic_ofstream
utilisé pour initialiser cet objet basic_ofstream
.
Notes
Le premier constructeur initialise la classe de base en appelant basic_ostream(sb)
, où sb
est l’objet stocké de la classe basic_filebuf< Elem, Tr>
. Il initialise également en sb
appelant basic_filebuf
Elem
<, . Tr
>
Les deuxième et troisième constructeurs initialisent la classe de base en appelant basic_ostream( sb)
. Il initialise également en sb
appelant<Elem
basic_filebuf
, Tr
> puis .sb.open( _Filename, _Mode | ios_base::out)
Si cette dernière fonction retourne un NULL
pointeur, le constructeur appelle setstate(failbit)
.
Le quatrième constructeur est une fonction de copie. Il initialise l’objet avec le contenu de right
, traité comme une référence rvalue.
Pour plus d'informations, consultez basic_ostream
, open
et setstate
.
Exemple
L'exemple suivant montre comment créer un objet basic_ofstream
et y écrire du texte.
// basic_ofstream_ctor.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
ofstream ofs("C:\\ofstream.txt");
if (!ofs.bad())
{
ofs << "Writing to a basic_ofstream object..." << endl;
ofs.close();
}
}
basic_ofstream::close
Ferme un fichier.
void close();
Notes
La fonction membre appelle rdbuf->close
. Pour plus d’informations, consultez rdbuf
et close
.
Exemple
Consultez basic_filebuf::close
un exemple qui utilise close
.
basic_ofstream::is_open
Indique si un fichier est ouvert.
bool is_open() const;
Valeur de retour
true
si le fichier est ouvert, false
dans le cas contraire.
Notes
La fonction membre retourne rdbuf->is_open
. Pour plus d’informations, consultez rdbuf
et is_open
.
Exemple
// basic_ofstream_is_open.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
int main( )
{
using namespace std;
ifstream file;
// Open and close with a basic_filebuf
file.rdbuf( )->open( "basic_ofstream_is_open.txt", ios::in );
file.close( );
if (file.is_open())
cout << "it's open" << endl;
else
cout << "it's closed" << endl;
}
basic_ofstream::open
Ouvre un fichier.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
void open(
const char* _Filename,
ios_base::openmode _Mode);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode);
Paramètres
_Filename
Nom du fichier à ouvrir.
_Mode
L’une des énumérations dans ios_base::openmode
.
_Prot
Protection d’ouverture de fichier par défaut, équivalente au shflag
paramètre dans _fsopen
, _wfsopen
.
Notes
La fonction membre appelle rdbuf -> open(_ Filename, _Mode | ios_base::out)
. Si cette fonction retourne un NULL
pointeur, la fonction appelle setstate(failbit)
.
Pour plus d'informations, consultez rdbuf
, open
et setstate
.
Exemple
Consultez basic_filebuf::open
un exemple qui utilise open
.
basic_ofstream::operator=
Assigne le contenu de cet objet de flux. Il s’agit d’une affectation de déplacement impliquant une rvalue reference
opération qui ne laisse pas de copie derrière elle.
basic_ofstream& operator=(basic_ofstream&& right);
Paramètres
right
Référence rvalue à un objet basic_ofstream
.
Valeur de retour
Retourne *this
.
Notes
L'opérateur membre remplace le contenu de l'objet à l'aide du contenu de right
, traité comme une référence rvalue.
basic_ofstream::rdbuf
Retourne l'adresse de la mémoire tampon de flux stockée.
basic_filebuf<Elem, Tr> *rdbuf() const
Valeur de retour
Retourne l'adresse de la mémoire tampon de flux stockée.
Exemple
Consultez basic_filebuf::close
un exemple qui utilise rdbuf
.
basic_ofstream::swap
Échange le contenu de deux objets basic_ofstream
.
void swap(basic_ofstream& right);
Paramètres
right
Référence lvalue
à un autre objet basic_ofstream
.
Notes
La fonction membre échange le contenu de cet objet avec celui de right
.
Voir aussi
basic_ostream
Classe
Sécurité des threads dans la bibliothèque C++ Standard
iostream
Programmation
iostreams
Conventions