std:: basic_ifstream
|
Definiert im Header
<fstream>
|
||
|
template
<
class
CharT,
|
||
Die Klassenvorlage
basic_ifstream
implementiert hochwertige Eingabeoperationen auf dateibasierten Strömen. Sie verbindert einen dateibasierten Streampuffer (
std::basic_filebuf
) mit der hochwertigen Schnittstelle von (
std::basic_istream
).
Eine typische Implementierung von
std::basic_ifstream
enthält nur ein einziges nicht-abgeleitetes Datenelement: eine Instanz von
std::
basic_filebuf
<
CharT, Traits
>
.
Vererbungsdiagramm
Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:
|
Definiert im Header
<fstream>
|
|
| Typ | Definition |
std::ifstream
|
std :: basic_ifstream < char > |
std::wifstream
|
std :: basic_ifstream < wchar_t > |
Inhaltsverzeichnis |
Mitgliedertypen
| Mitgliedertyp | Definition |
char_type
|
CharT
|
traits_type
|
Traits
; das Programm ist fehlerhaft, wenn
Traits::char_type
nicht
CharT
ist.
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
native_handle_type
(C++26)
|
implementierungsdefinierter
Typ, der
TriviallyCopyable
und
semiregular
ist
|
Memberfunktionen
|
Konstruiert den Dateistrom
(öffentliche Elementfunktion) |
|
|
(destructor)
[virtual]
(implizit deklariert)
|
zerstört den
basic_ifstream
und den zugehörigen Puffer, schließt die Datei
(virtuelle öffentliche Elementfunktion) |
|
(C++11)
|
verschiebt den Dateistrom
(öffentliche Elementfunktion) |
|
(C++11)
|
tauscht zwei Dateiströme
(öffentliche Elementfunktion) |
|
gibt das zugrundeliegende Rohdateigerät-Objekt zurück
(öffentliche Elementfunktion) |
|
|
(C++26)
|
gibt das zugrundeliegende implementierungsdefinierte Handle zurück
(öffentliche Elementfunktion) |
Dateioperationen |
|
|
prüft, ob der Strom eine zugeordnete Datei hat
(öffentliche Elementfunktion) |
|
|
öffnet eine Datei und ordnet sie dem Strom zu
(öffentliche Elementfunktion) |
|
|
schließt die zugeordnete Datei
(öffentliche Elementfunktion) |
|
Nicht-Member-Funktionen
|
(C++11)
|
spezialisiert den
std::swap
Algorithmus
(Funktionsschablone) |
Geerbt von std:: basic_istream
Elementfunktionen
Formatierte Eingabe |
|
|
extrahiert formatierte Daten
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
Unformatierte Eingabe |
|
|
extrahiert Zeichen
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
liest das nächste Zeichen ohne es zu extrahieren
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
gibt ein Zeichen zurück
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
legt ein Zeichen in den Eingabestrom zurück
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
extrahiert Zeichen bis zum angegebenen Zeichen
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
extrahiert und verwirft Zeichen bis zum angegebenen Zeichen
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
extrahiert Zeichenblöcke
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
extrahiert bereits verfügbare Zeichenblöcke
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
gibt die Anzahl der zuletzt extrahierten Zeichen zurück
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
Positionierung |
|
|
gibt die Eingabepositionsanzeige zurück
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
setzt die Eingabepositionsanzeige
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
Sonstiges |
|
|
synchronisiert mit dem zugrundeliegenden Speichergerät
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
Elementklassen
|
implementiert grundlegende Logik zur Vorbereitung des Stroms für Eingabeoperationen
(öffentliche Elementklasse von
std::basic_istream<CharT,Traits>
)
|
Geerbt von std:: basic_ios
Member-Typen
| Member-Typ | Definition |
char_type
|
CharT
|
traits_type
|
Traits
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
Member-Funktionen
Status-Funktionen |
|
|
prüft, ob kein Fehler aufgetreten ist, d.h. I/O-Operationen verfügbar sind
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob das Dateiende erreicht wurde
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob ein Fehler aufgetreten ist
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob ein nicht behebbarer Fehler aufgetreten ist
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob ein Fehler aufgetreten ist (Synonym für
fail()
)
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
prüft, ob kein Fehler aufgetreten ist (Synonym für
!
fail()
)
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
gibt Statusflags zurück
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
setzt Statusflags
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
modifiziert Statusflags
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
Formatierung |
|
|
kopiert Formatierungsinformationen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verwaltet das Füllzeichen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
Sonstiges |
|
|
verwaltet die Ausnahmemaske
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
setzt das Locale
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verwaltet den assoziierten Streampuffer
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verwaltet den verknüpften Stream
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verengt Zeichen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
erweitert Zeichen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
Geerbt von std:: ios_base
Memberfunktionen
Formatierung |
|
|
verwaltet Formatierungsflags
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
setzt spezifische Formatierungsflags
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
löscht spezifische Formatierungsflags
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
verwaltet Dezimalgenauigkeit von Gleitkommaoperationen
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
verwaltet Feldbreite
(öffentliche Elementfunktion von
std::ios_base
)
|
|
Locales |
|
|
setzt Locale
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
gibt aktuelle Locale zurück
(öffentliche Elementfunktion von
std::ios_base
)
|
|
Internes erweiterbares Array |
|
|
[static]
|
gibt eine programmweit eindeutige Ganzzahl zurück, die sicher als Index für
pword()
und
iword()
verwendet werden kann
(öffentliche statische Elementfunktion von
std::ios_base
)
|
|
vergrößert bei Bedarf den privaten Speicher und ermöglicht Zugriff auf das
long
-Element am gegebenen Index
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
vergrößert bei Bedarf den privaten Speicher und ermöglicht Zugriff auf das
void
*
-Element am gegebenen Index
(öffentliche Elementfunktion von
std::ios_base
)
|
|
Verschiedenes |
|
|
registriert Ereignis-Callback-Funktion
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
[static]
|
legt fest, ob C++- und C-I/O-Bibliotheken interoperabel sind
(öffentliche statische Elementfunktion von
std::ios_base
)
|
Elementklassen |
|
|
Stream-Exception
(öffentliche Elementklasse von
std::ios_base
)
|
|
|
initialisiert Standard-Stream-Objekte
(öffentliche Elementklasse von
std::ios_base
)
|
|
Mitgliedstypen und Konstanten |
|||||||||||||||||||||||||||||||||||||||
| Typ | Erklärung | ||||||||||||||||||||||||||||||||||||||
|
Stream-Öffnungsmodus-Typ
Folgende Konstanten sind ebenfalls definiert:
(Typedef) |
|||||||||||||||||||||||||||||||||||||||
|
Formatierungsflags-Typ
Die folgenden Konstanten sind ebenfalls definiert:
(Typdefinition) |
|||||||||||||||||||||||||||||||||||||||
|
Zustandstyp des Streams
Folgende Konstanten sind ebenfalls definiert:
(Typdefinition) |
|||||||||||||||||||||||||||||||||||||||
|
Suchrichtungstyp
Folgende Konstanten sind ebenfalls definiert:
(Typdefinition) |
|||||||||||||||||||||||||||||||||||||||
|
gibt den Ereignistyp an
(enum) |
|||||||||||||||||||||||||||||||||||||||
|
Callback-Funktionstyp
(typedef) |
|||||||||||||||||||||||||||||||||||||||
Hinweise
| Feature-Test Makro | Wert | Std | Funktion |
|---|---|---|---|
__cpp_lib_fstream_native_handle
|
202306L
|
(C++26) | Native-Handle-Unterstützung |
Beispiel
#include <fstream> #include <iostream> #include <string> int main() { std::string filename = "Test.b"; // Datei zum Lesen vorbereiten double d = 3.14; std::ofstream(filename, std::ios::binary) .write(reinterpret_cast<char*>(&d), sizeof d) << 123 << "abc"; // Datei zum Lesen öffnen std::ifstream istrm(filename, std::ios::binary); if (!istrm.is_open()) std::cout << "Fehler beim Öffnen von " << filename << '\n'; else { double d; istrm.read(reinterpret_cast<char*>(&d), sizeof d); // binäre Eingabe int n; std::string s; if (istrm >> n >> s) // Texteingabe std::cout << "Aus Datei gelesen: " << d << ' ' << n << ' ' << s << '\n'; } }
Ausgabe:
read back from file: 3.14 123 abc