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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour