std:: basic_fstream
|
Definiert im Header
<fstream>
|
||
|
template
<
class
CharT,
|
||
Die Klassenvorlage
basic_fstream
implementiert hochrangige Eingabe-/Ausgabeoperationen auf dateibasierten Streams. Sie verbindet einen dateibasierten Streampuffer (
std::basic_filebuf
) mit der hochrangigen Schnittstelle von (
std::basic_iostream
).
Eine typische Implementierung von
std::basic_fstream
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::fstream
|
std :: basic_fstream < char > |
std::wfstream
|
std :: basic_fstream < 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]
(implicitly declared)
|
zerstört den
basic_fstream
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
(Funktions-Template) |
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>
)
|
|
|
gibt 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 Streams für Eingabeoperationen
(öffentliche Elementklasse von
std::basic_istream<CharT,Traits>
)
|
Geerbt von std:: basic_ostream
Elementfunktionen
Formatierte Ausgabe |
|
|
fügt formatierte Daten ein
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Unformatierte Ausgabe |
|
|
fügt ein Zeichen ein
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
|
fügt Zeichenblöcke ein
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Positionierung |
|
|
gibt die Ausgabepositionsanzeige zurück
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
|
setzt die Ausgabepositionsanzeige
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Verschiedenes |
|
|
synchronisiert mit dem zugrundeliegenden Speichergerät
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Elementklassen
|
implementiert grundlegende Logik zur Vorbereitung des Streams für Ausgabeoperationen
(öffentliche Elementklasse von
std::basic_ostream<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. E/A-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 Status-Flags zurück
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
setzt Status-Flags
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
modifiziert Status-Flags
(ö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) |
|||||||||||||||||||||||||||||||||||||||
|
Zustand des Stream-Typs
Die folgenden 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.bin"}; std::fstream s{filename, s.binary | s.trunc | s.in | s.out}; if (!s.is_open()) std::cout << "failed to open " << filename << '\n'; else { // write double d{3.14}; s.write(reinterpret_cast<char*>(&d), sizeof d); // binary output s << 123 << "abc"; // text output // for fstream, this moves the file position pointer (both put and get) s.seekp(0); // read d = 2.71828; s.read(reinterpret_cast<char*>(&d), sizeof d); // binary input int n; std::string str; if (s >> n >> str) // text input std::cout << "read back from file: " << d << ' ' << n << ' ' << str << '\n'; } }
Ausgabe:
read back from file: 3.14 123 abc
Siehe auch
|
Daten aus einem I/O-Stream in einen String einlesen
(Funktions-Template) |