Partage via


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_filebufElem<, . Tr>

Les deuxième et troisième constructeurs initialisent la classe de base en appelant basic_ostream( sb). Il initialise également en sb appelant<Elembasic_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