Freigeben über


basic_ifstream-Klasse

Beschreibt ein Objekt, das die Extraktion von Elementen und codierten Objekten aus einem Datenstrompuffer der Klasse basic_filebuf<Elem, Tr>mit Elementen vom Typ Elemsteuert, deren Zeicheneigenschaften von der Klasse Trbestimmt werden.

Weitere Informationen finden Sie unter basic_filebuf.

Syntax

template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<Elem, Tr>

Parameter

Elem
Das grundlegende Element des Dateipuffers.

Tr
Die Eigenschaften des grundlegenden Elements des Dateipuffers (in der Regel char_traits<Elem>).

Hinweise

Das Objekt speichert ein Objekt der Klasse basic_filebuf<Elem, Tr>.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie Text aus einer Datei gelesen wird.

// 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();
    }
}

Eingabe: basic_ifstream_class.txt

This is the contents of basic_ifstream_class.txt.

Output

This is the contents of basic_ifstream_class.txt.

Konstruktoren

Konstruktor Beschreibung
basic_ifstream Initialisiert eine neue Instanz eines basic_ifstream-Objekts.

Memberfunktionen

Memberfunktion Beschreibung
close Schließt eine Datei.
is_open Ermittelt, ob eine Datei geöffnet ist.
open Öffnet eine Datei.
rdbuf Gibt die Adresse des gespeicherten Streampuffers zurück.
swap Tauscht den Inhalt dieses basic_ifstream-Objekts mit dem Inhalt des bereitgestellten basic_ifstream-Objekts aus.

Operatoren

Operator Beschreibung
operator= Weist den Inhalt dieses Streamobjekts zu. Dies ist eine Verschiebungsaufgabe, die eine rvalue Kopie nicht hinterlässt.

Anforderungen

Header: <fstream>

Namespace:std

basic_ifstream::basic_ifstream

Konstruiert ein Objekt vom Typ 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);

Parameter

_Filename
Der Name der zu öffnenden Datei.

_Mode
Eine der Enumerationen in ios_base::openmode.

_Prot
Der Standardmäßige Dateiöffnungsschutz, der dem shflag Parameter in _fsopen, _wfsopenentspricht.

Hinweise

Der erste Konstruktor initialisiert die Basisklasse durch Aufrufen basic_istream(sb), wobei sb das gespeicherte Objekt der Klasse basic_filebuf<Elem, Tr>ist. Sie initialisiert sb auch durch Aufrufen basic_filebuf<Elem, Tr>.

Die zweite und dritte Konstruktor initialisieren die Basisklasse durch Aufrufen.basic_istream(sb) Sie initialisiert sb auch durch Aufrufen basic_filebuf<Elem, Tr>und dann sb.open(_Filename, _Mode | ios_base::in). Wenn die letztere Funktion einen NULL-Zeiger zurückgibt, ruft der Konstruktor auf setstate(failbit).

Der vierte Konstruktor initialisiert das Objekt mit dem Inhalt von right, der als rvalue Verweis behandelt wird.

Weitere Informationen finden Sie unterbasic_istream, basic_filebuf, setstateund open.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie Text aus einer Datei gelesen wird. Informationen zum Erstellen der Datei finden Sie im Beispiel für 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

Schließt eine Datei.

void close();

Hinweise

Die Memberfunktion ruft - auf rdbuf close> .

Beispiel

Ein Beispiel, das verwendet wird, closefinden Sie unter basic_filebuf::close .

basic_ifstream::is_open

Ermittelt, ob eine Datei geöffnet ist.

bool is_open() const;

Rückgabewert

true, wenn die Datei geöffnet ist, andernfalls false.

Hinweise

Die Memberfunktion gibt -> is_openzurück .rdbuf

Beispiel

Ein Beispiel, das verwendet wird, is_openfinden Sie unter basic_filebuf::is_open .

basic_ifstream::open

Öffnet eine Datei.

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);

Parameter

_Filename
Der Name der zu öffnenden Datei.

_Mode
Eine der Enumerationen in ios_base::openmode.

_Prot
Der Standardmäßige Dateiöffnungsschutz, der dem shflag Parameter in _fsopen, _wfsopenentspricht.

Hinweise

Die Memberfunktion ruft auf rdbuf->open(_Filename, _Mode | ios_base::in). Weitere Informationen finden Sie unter rdbuf und basic_filebuf::open. Wenn "Öffnen" fehlschlägt, ruft die Funktion auf setstate(failbit), wodurch möglicherweise eine ios_base::failure Ausnahme ausgelöst wird. Weitere Informationen finden Sie unter setstate.

Beispiel

Ein Beispiel, das verwendet wird, openfinden Sie unter basic_filebuf::open .

basic_ifstream::operator=

Weist den Inhalt dieses Streamobjekts zu. Dies ist eine Verschiebungsaufgabe, die eine rvalue Kopie nicht hinterlässt.

basic_ifstream& operator=(basic_ifstream&& right);

Parameter

right
Ein rvalue-Verweis auf ein basic_ifstream-Objekt.

Rückgabewert

Gibt *this zurück.

Hinweise

Der Memberoperator ersetzt den Inhalt des Objekts mithilfe des Inhalts von right, der als rvalue Verweis behandelt wird. Weitere Informationen finden Sie unter Lvalues und Rvalues.

basic_ifstream::rdbuf

Gibt die Adresse des gespeicherten Streampuffers zurück.

basic_filebuf<Elem, Tr> *rdbuf() const

Rückgabewert

Ein Zeiger auf ein basic_filebuf Objekt, das den gespeicherten Datenstrompuffer darstellt.

Beispiel

Ein Beispiel, das verwendet wird, rdbuffinden Sie unter basic_filebuf::close .

basic_ifstream::swap

Tauscht den Inhalt von zwei basic_ifstream-Objekten aus.

void swap(basic_ifstream& right);

Parameter

right
Ein Verweis auf einen anderen Streampuffer.

Hinweise

Die Memberfunktion tauscht den Inhalt dieses Objekts mit dem Inhalt von right aus.

Siehe auch

Threadsicherheit in der C++-Standardbibliothek
iostream Programmieren
iostreams Konventionen