Partager via


basic_fstream, classe

Décrit un objet qui contrôle l’insertion et l’extraction d’éléments et d’objets encodés à l’aide d’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

Syntaxe

template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<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éralementchar_traitsElem<>).

Notes

L’objet stocke un objet de classe basic_filebuf<Elem, . Tr>

Remarque

Les pointeurs get et put d’un objet fstream ne sont PAS indépendants l’un de l’autre. Si le pointeur get bouge, le pointeur put bouge aussi.

Exemple

L'exemple suivant montre comment créer un objet basic_fstream qui peut être lu et écrit.

// basic_fstream_class.cpp
// compile with: /EHsc

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    fstream fs("fstream.txt", ios::in | ios::out | ios::trunc);
    if (!fs.bad())
    {
        // Write to the file.
        fs << "Writing to a basic_fstream object..." << endl;
        fs.close();

        // Dump the contents of the file to cout.
        fs.open("fstream.txt", ios::in);
        cout << fs.rdbuf();
        fs.close();
    }
}
Writing to a basic_fstream object...

Constructeurs

Constructeur Description
basic_fstream Construit un objet de type basic_fstream.

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é, du pointeur de type vers basic_filebufElem<, . Tr>
swap Échange le contenu de cet objet avec le contenu d'un autre objet basic_fstream.

Spécifications

Header :<fstream>

Espace de noms : std

basic_fstream ::basic_fstream

Construit un objet de type basic_fstream.

basic_fstream();

explicit basic_fstream(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

explicit basic_fstream(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

basic_fstream(basic_fstream&& right);

Paramètres

_Fichier
Nom du fichier à ouvrir.

_Mode
Une des énumérations dans ios_base::openmode.

_Prot
Protection d’ouverture de fichier par défaut, équivalente au paramètre shflag dans _fsopen, _wfsopen.

Notes

Le premier constructeur initialise la classe de base en appelant basic_iostream(), où sb est l’objet stocké de la classe basic_filebuf<Elem, Tr>.sb 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_iostream( sb). Il initialise également en sb appelant<basic_filebuf Elem, Tr>, puis sb.open(_ Filename, _Mode). Si cette dernière fonction retourne un pointeur Null, le constructeur appelle setstate(failbit).

Le quatrième constructeur initialise l’objet avec le contenu de right, traité comme une référence rvalue.

Exemple

Consultez streampos pour obtenir un exemple qui utilise basic_fstream.

basic_fstream ::close

Ferme un fichier.

void close();

Notes

La fonction membre appelle rdbuf-> close.

Exemple

Consultez basic_filebuf::close pour obtenir un exemple d’utilisation de close.

basic_fstream ::is_open

Détermine 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>.

Exemple

Consultez basic_filebuf::is_open pour obtenir un exemple d’utilisation de is_open.

basic_fstream ::open

Ouvre un fichier.

void open(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in | 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::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode);

Paramètres

_Fichier
Nom du fichier à ouvrir.

_Mode
Une des énumérations dans ios_base::openmode.

_Prot
Protection d’ouverture de fichier par défaut, équivalente au paramètre shflag dans _fsopen, _wfsopen.

Notes

La fonction membre appelle rdbuf -> open(_ Filename, _Mode). Si cette fonction retourne un pointeur Null, la fonction appelle setstate( failbit).

Exemple

Consultez basic_filebuf ::open pour obtenir un exemple d’utilisation open.

basic_fstream ::operator=

Assigne à cet objet le contenu d'un objet de flux spécifié. Il s'agit d'une assignation de déplacement qui implique une rvalue qui ne laisse pas de copie.

basic_fstream& operator=(basic_fstream&& right);

Paramètres

right
Référence lvalue à un objet basic_fstream.

Valeur de retour

Retourne *this.

Notes

L’opérateur membre remplace le contenu de l’objet à l’aide du contenu de droite, traité comme une référence rvalue.

basic_fstream ::rdbuf

Retourne l’adresse de la mémoire tampon de flux stockée, du pointeur de type vers basic_filebuf<Elem, Tr.>

basic_filebuf<Elem, Tr> *rdbuf() const

Valeur de retour

Adresse de la mémoire tampon de flux stockée.

Exemple

Consultez basic_filebuf::close pour obtenir un exemple d’utilisation de rdbuf.

basic_fstream ::swap

Échange le contenu de deux objets basic_fstream.

void swap(basic_fstream& right);

Paramètres

right
Référence lvalue à un objet basic_fstream.

Notes

La fonction membre échange le contenu de cet objet et le contenu du droit.

Voir aussi

Sécurité des threads dans la bibliothèque C++ Standard
iostream, programmation
iostreams, conventions