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