Partager via


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