std::basic_ifstream
Von cppreference.com
| Definiert in Header <fstream> |
||
| template< class CharT, |
||
Die Klassenschablone basic_ifstream implementiert High-Level-Eingabeoperationen auf dateibasierten Streams. Sie verbindet einen dateibasierten Streambuffer (std::basic_filebuf) mit der High-Level-Schnittstelle von (std::basic_istream).
Eine typische Implementierung von std::basic_ifstream enthält nur ein nicht abgeleitetes Datenmitglied: eine Instanz von std::basic_filebuf<CharT, Traits>.
Vererbungdiagramm
Mehrere Typedefs für gängige Zeichentypen werden bereitgestellt
| Definiert in Header
<fstream> | |
| Typ | Definition |
std::ifstream
|
std::basic_ifstream<char> |
std::wifstream
|
std::basic_ifstream<wchar_t> |
Inhalt |
[bearbeiten] Member-Typen
| 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) |
implementierungsabhängiger Typ, der TriviallyCopyable und semiregular ist |
[bearbeiten] Memberfunktionen
| konstruiert den Datei-Stream (public member function) | |
| (Destruktor) [virtual] (implizit deklariert) |
Destruiert das basic_ifstream und den zugehörigen Puffer, schließt die Datei(virtual public member function) |
| (C++11) |
verschiebt den Datei-Stream (public member function) |
| (C++11) |
tauscht zwei Datei-Streams (public member function) |
| gibt das zugrundeliegende Rohdatei-Geräteobjekt zurück (public member function) | |
| (C++26) |
gibt den zugrundeliegenden implementierungsabhängigen Handle zurück (public member function) |
Dateioperationen | |
| prüft, ob der Stream eine zugeordnete Datei hat (public member function) | |
| öffnet eine Datei und ordnet sie dem Stream zu (public member function) | |
| schließt die zugeordnete Datei (public member function) | |
[bearbeiten] Nicht-Member-Funktionen
| spezialisiert den Algorithmus std::swap (Funktionsvorlage) |
Abgeleitet von std::basic_istream
Memberfunktionen
Formatierte Eingabe | |
| extrahiert formatierte Daten (public member function of std::basic_istream<CharT,Traits>) | |
Unformatierte Eingabe | |
| extrahiert Zeichen (public member function of std::basic_istream<CharT,Traits>) | |
| liest das nächste Zeichen ohne es zu extrahieren (public member function of std::basic_istream<CharT,Traits>) | |
| entfernt ein Zeichen aus dem Eingabestrom (public member function of std::basic_istream<CharT,Traits>) | |
| legt ein Zeichen in den Eingabestrom zurück (public member function of std::basic_istream<CharT,Traits>) | |
| extrahiert Zeichen, bis das gegebene Zeichen gefunden wird (public member function of std::basic_istream<CharT,Traits>) | |
| extrahiert und verwirft Zeichen, bis das gegebene Zeichen gefunden wird (public member function of std::basic_istream<CharT,Traits>) | |
| extrahiert Zeichenblöcke (public member function of std::basic_istream<CharT,Traits>) | |
| extrahiert bereits verfügbare Zeichenblöcke (public member function of std::basic_istream<CharT,Traits>) | |
| gibt die Anzahl der Zeichen zurück, die von der letzten unformatierten Eingabeoperation extrahiert wurden (public member function of std::basic_istream<CharT,Traits>) | |
Positionierung | |
| gibt den Eingabepositionsindikator zurück (public member function of std::basic_istream<CharT,Traits>) | |
| setzt den Eingabepositionsindikator (public member function of std::basic_istream<CharT,Traits>) | |
Sonstiges | |
| synchronisiert mit dem zugrunde liegenden Speichermedium (public member function of std::basic_istream<CharT,Traits>) | |
Member-Klassen
| implementiert grundlegende Logik für die Vorbereitung des Streams für Eingabeoperationen (public member class of std::basic_istream<CharT,Traits>) |
Geerbt von std::basic_ios
Membertypen
| Mitgliedertyp | Definition |
char_type
|
CharT
|
traits_type
|
Traits
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
Memberfunktionen
Zustandsfunktionen | |
| prüft, ob kein Fehler aufgetreten ist, d.h. I/O-Operationen verfügbar sind (public member function of std::basic_ios<CharT,Traits>) | |
| prüft, ob das Dateiende erreicht wurde (public member function of std::basic_ios<CharT,Traits>) | |
| prüft, ob ein Fehler aufgetreten ist (public member function of std::basic_ios<CharT,Traits>) | |
| prüft, ob ein nicht behebbbarer Fehler aufgetreten ist (public member function of std::basic_ios<CharT,Traits>) | |
| prüft, ob ein Fehler aufgetreten ist (Synonym für fail()) (public member function of std::basic_ios<CharT,Traits>) | |
prüft, ob kein Fehler aufgetreten ist (Synonym für !fail())(public member function of std::basic_ios<CharT,Traits>) | |
| gibt Zustandsflags zurück (public member function of std::basic_ios<CharT,Traits>) | |
| setzt Zustandsflags (public member function of std::basic_ios<CharT,Traits>) | |
| modifiziert Zustandsflags (public member function of std::basic_ios<CharT,Traits>) | |
Formatierung | |
| kopiert Formatierungsinformationen (public member function of std::basic_ios<CharT,Traits>) | |
| verwaltet das Füllzeichen (public member function of std::basic_ios<CharT,Traits>) | |
Sonstiges | |
| verwaltet die Exception-Maske (public member function of std::basic_ios<CharT,Traits>) | |
| setzt die Locale (public member function of std::basic_ios<CharT,Traits>) | |
| verwaltet den zugehörigen Stream-Puffer (public member function of std::basic_ios<CharT,Traits>) | |
| verwaltet den gebundenen Stream (public member function of std::basic_ios<CharT,Traits>) | |
| verengt Zeichen (public member function of std::basic_ios<CharT,Traits>) | |
| erweitert Zeichen (public member function of std::basic_ios<CharT,Traits>) | |
Geerbt von std::ios_base
Memberfunktionen
Formatierung | |
| verwaltet Formatierungsflags (public member function of std::ios_base) | |
| setzt spezifische Formatierungsflags (public member function of std::ios_base) | |
| löscht spezifische Formatierungsflags (public member function of std::ios_base) | |
| verwaltet die Dezimalgenauigkeit von Fließkommaoperationen (public member function of std::ios_base) | |
| verwaltet die Feldbreite (public member function of std::ios_base) | |
Lokale | |
| setzt Locale (public member function of std::ios_base) | |
| gibt die aktuelle Locale zurück (public member function of std::ios_base) | |
Internes erweiterbares Array | |
| [static] |
gibt eine programmweite eindeutige Ganzzahl zurück, die sicher als Index für pword() und iword() verwendet werden kann (public static member function of std::ios_base) |
| vergrößert den privaten Speicher bei Bedarf und greift auf das long-Element am gegebenen Index zu (public member function of std::ios_base) | |
| vergrößert den privaten Speicher bei Bedarf und greift auf das void*-Element am gegebenen Index zu (public member function of std::ios_base) | |
Sonstiges | |
| registriert eine Callback-Funktion für Ereignisse (public member function of std::ios_base) | |
| [static] |
legt fest, ob C++ und C E/A-Bibliotheken interoperabel sind (public static member function of std::ios_base) |
Member-Klassen | |
| Stream-Exception (public member class of std::ios_base) | |
| initialisiert Standard-Stream-Objekte (public member class of std::ios_base) | |
Member-Typen und Konstanten | |||||||||||||||||||||||||||||||||||||||
| Typ | Erklärung | ||||||||||||||||||||||||||||||||||||||
| Stream-Öffnungsmodus-Typ Folgende Konstanten sind ebenfalls definiert
(typedef) | |||||||||||||||||||||||||||||||||||||||
| Typ der Formatierungsflags Folgende Konstanten sind ebenfalls definiert
(typedef) | |||||||||||||||||||||||||||||||||||||||
| Zustand des Stream-Typs Folgende Konstanten sind ebenfalls definiert
(typedef) | |||||||||||||||||||||||||||||||||||||||
| Typ der Suchrichtung Folgende Konstanten sind ebenfalls definiert
(typedef) | |||||||||||||||||||||||||||||||||||||||
| spezifiziert den Ereignistyp (enum) | |||||||||||||||||||||||||||||||||||||||
| Callback-Funktionstyp (typedef) | |||||||||||||||||||||||||||||||||||||||
[bearbeiten] Hinweise
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_fstream_native_handle |
202306L |
(C++26) | Unterstützung nativer Handles |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <fstream> #include <iostream> #include <string> int main() { std::string filename = "Test.b"; // prepare a file to read double d = 3.14; std::ofstream(filename, std::ios::binary) .write(reinterpret_cast<char*>(&d), sizeof d) << 123 << "abc"; // open file for reading std::ifstream istrm(filename, std::ios::binary); if (!istrm.is_open()) std::cout << "failed to open " << filename << '\n'; else { double d; istrm.read(reinterpret_cast<char*>(&d), sizeof d); // binary input int n; std::string s; if (istrm >> n >> s) // text input std::cout << "read back from file: " << d << ' ' << n << ' ' << s << '\n'; } }
Ausgabe
read back from file: 3.14 123 abc