La classe basic_ifstream
Décrit un objet qui contrôle l’extraction d’éléments et d’objets encodés à partir 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
.
Pour plus d’informations, consultez basic_filebuf
.
Syntaxe
template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<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
L'objet stocke un objet de classe basic_filebuf<Elem, Tr>
.
Exemple
L'exemple suivant montre comment lire le texte d'un fichier.
// basic_ifstream_class.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
ifstream ifs("basic_ifstream_class.txt");
if (!ifs.bad())
{
// Dump the contents of the file to cout.
cout << ifs.rdbuf();
ifs.close();
}
}
Entrée: basic_ifstream_class.txt
This is the contents of basic_ifstream_class.txt.
Sortie
This is the contents of basic_ifstream_class.txt.
Constructeurs
Constructeur | Description |
---|---|
basic_ifstream |
Initialise une nouvelle instance d'un objet basic_ifstream . |
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_ifstream avec le contenu du basic_ifstream 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 opération qui ne laisse pas de copie derrière elle. |
Spécifications
En-tête : <fstream>
Espace de noms : std
basic_ifstream::basic_ifstream
Construit un objet de type basic_ifstream
.
basic_ifstream();
explicit basic_ifstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in,
int _Prot = (int)ios_base::_Openprot);
explicit basic_ifstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::in,
int _Prot = (int)ios_base::_Openprot);
basic_ifstream(basic_ifstream&& 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
.
Notes
Le premier constructeur initialise la classe de base en appelant basic_istream(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_istream(sb)
. Il initialise également en sb
appelant basic_filebuf<Elem, Tr>
, puis sb.open(_Filename, _Mode | ios_base::in)
. 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 rvalue
référence.
Pour plus d'informations, voir basic_istream
, basic_filebuf
, setstate
et open
.
Exemple
L'exemple suivant montre comment lire le texte d'un fichier. Pour créer le fichier, consultez l’exemple pour basic_ofstream::basic_ofstream
.
// basic_ifstream_ctor.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
ifstream ifs("basic_ifstream_ctor.txt");
if (!ifs.bad())
{
// Dump the contents of the file to cout.
cout << ifs.rdbuf();
ifs.close();
}
}
basic_ifstream::close
Ferme un fichier.
void close();
Notes
La fonction membre appelle rdbuf
-> close
.
Exemple
Consultez basic_filebuf::close
un exemple qui utilise close
.
basic_ifstream::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
un exemple qui utilise is_open
.
basic_ifstream::open
Ouvre un fichier.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in,
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,
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::in)
. Pour plus d’informations, consultez rdbuf
et basic_filebuf::open
. En cas d’échec de l’ouverture, la fonction appelle setstate(failbit)
, ce qui peut lever une ios_base::failure
exception. Pour plus d’informations, consultez setstate
.
Exemple
Consultez basic_filebuf::open
un exemple qui utilise open
.
basic_ifstream::operator=
Assigne le contenu de cet objet de flux. Il s’agit d’une affectation de déplacement impliquant une rvalue
opération qui ne laisse pas de copie derrière elle.
basic_ifstream& operator=(basic_ifstream&& right);
Paramètres
right
Référence rvalue
à un objet basic_ifstream
.
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 rvalue
référence. Pour plus d’informations, consultez Lvalues
et Rvalues
.
basic_ifstream::rdbuf
Retourne l'adresse de la mémoire tampon de flux stockée.
basic_filebuf<Elem, Tr> *rdbuf() const
Valeur de retour
Pointeur vers un basic_filebuf
objet représentant la mémoire tampon de flux stocké.
Exemple
Consultez basic_filebuf::close
un exemple qui utilise rdbuf
.
basic_ifstream::swap
Échange le contenu de deux objets basic_ifstream
.
void swap(basic_ifstream& right);
Paramètres
right
Référence à une autre mémoire tampon de flux.
Notes
La fonction membre échange le contenu de cet objet avec celui de right
.
Voir aussi
Sécurité des threads dans la bibliothèque C++ Standard
iostream
Programmation
iostreams
Conventions