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_traits
Elem
<>).
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