Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Beschreibt ein Objekt, das die Extraktion von Elementen und codierten Objekten aus einem Datenstrompuffer der Klasse basic_filebuf<Elem, Tr>
mit Elementen vom Typ Elem
steuert, deren Zeicheneigenschaften von der Klasse Tr
bestimmt 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
, _wfsopen
entspricht.
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
, setstate
und 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, close
finden 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_open
zurück .rdbuf
Beispiel
Ein Beispiel, das verwendet wird, is_open
finden 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
, _wfsopen
entspricht.
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, open
finden 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, rdbuf
finden 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