std:: basic_filebuf
|
Definiert in Header
<fstream>
|
||
|
template
<
class
CharT,
|
||
std::basic_filebuf
ist ein
std::basic_streambuf
, dessen zugeordnete Zeichenfolge eine Datei ist. Sowohl die Eingabesequenz als auch die Ausgabesequenz sind mit derselben Datei verknüpft, und eine gemeinsame Dateiposition wird für beide Operationen beibehalten. Die Einschränkungen beim Lesen und Schreiben einer Sequenz mit
std::basic_filebuf
sind dieselben wie bei
std::FILE
s.
Die Funktionen
underflow()
und
overflow()
/
sync()
führen die eigentliche E/A-Operation zwischen der Datei und den Get- und Put-Bereichen des Puffers durch. Wenn
CharT
nicht
char
ist, speichern die meisten Implementierungen Multibyte-Zeichen in der Datei und eine
std::codecvt
Facette wird zur Durchführung der Wide-/Multibyte-Zeichenkonvertierung verwendet.
Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:
|
Definiert im Header
<fstream>
|
|
| Typ | Definition |
std::filebuf
|
std :: basic_filebuf < char > |
std::wfilebuf
|
std :: basic_filebuf < wchar_t > |
Inhaltsverzeichnis |
Mitgliedertypen
| Typ | 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
, das
std::
fpos
<
Traits
::
state_type
>
sein muss
|
off_type
|
Traits::off_type
|
native_handle_type
(C++26)
|
implementierungsdefinierter
Typ, der
TriviallyCopyable
und
semiregular
ist
|
Memberfunktionen
Öffentliche Elementfunktionen |
|
Konstruiert ein
basic_filebuf
-Objekt
(öffentliche Elementfunktion) |
|
|
(C++11)
|
Weist ein
basic_filebuf
-Objekt zu
(öffentliche Elementfunktion) |
|
(C++11)
|
Tauscht zwei
basic_filebuf
-Objekte
(öffentliche Elementfunktion) |
|
(C++26)
|
Gibt das zugrundeliegende implementierungsdefinierte Handle zurück
(öffentliche Elementfunktion) |
|
[virtual]
|
Zerstört ein
basic_filebuf
-Objekt und schließt die Datei, falls geöffnet
(virtuelle öffentliche Elementfunktion) |
|
Prüft, ob die zugehörige Datei geöffnet ist
(öffentliche Elementfunktion) |
|
|
Öffnet eine Datei und konfiguriert sie als zugehörige Zeichensequenz
(öffentliche Elementfunktion) |
|
|
Leert den Put-Bereichspuffer und schließt die zugehörige Datei
(öffentliche Elementfunktion) |
|
Geschützte Elementfunktionen |
|
|
[virtual]
|
Bietet optional die Anzahl der für die Eingabe verfügbaren Zeichen aus der Datei
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Liest aus der zugehörigen Datei
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Liest aus der zugehörigen Datei und bewegt den nächsten Zeiger im Get-Bereich
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Setzt die Eingabesequenz zurück, um ein Zeichen zurückzustellen, ohne die zugehörige Datei zu beeinflussen
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Schreibt Zeichen aus dem Put-Bereich in die zugehörige Datei
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Stellt einen benutzerdefinierten Puffer bereit oder macht diesen filebuf ungepuffert
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Positioniert die Dateiposition unter Verwendung relativer Adressierung neu
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Positioniert die Dateiposition unter Verwendung absoluter Adressierung neu
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Schreibt Zeichen aus dem Put-Bereich in die zugehörige Datei
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
Ändert die zugehörige Locale
(virtuelle geschützte Elementfunktion) |
Nicht-Member-Funktionen
|
(C++11)
|
spezialisiert den
std::swap
Algorithmus
(Funktions-Template) |
Geerbt von std:: basic_streambuf
Membertypen
| Mitgliedtyp | 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
|
Memberfunktionen
|
[virtual]
|
zerstört das
basic_streambuf
-Objekt
(virtuelle öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
Locales |
|
|
ändert die assoziierte Locale und ruft
imbue
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
erhält eine Kopie der assoziierten Locale
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
Positionierung |
|
|
ruft
setbuf
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
ruft
seekoff
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
ruft
seekpos
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
ruft
sync
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
Lesebereich |
|
|
ermittelt die Anzahl der sofort verfügbaren Zeichen im Lesebereich
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
bewegt die Eingabesequenz vor und liest ein Zeichen ohne erneutes Vorrücken
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
(entfernt in C++17)
|
liest ein Zeichen aus der Eingabesequenz und bewegt die Sequenz vor
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
liest ein Zeichen aus der Eingabesequenz ohne die Sequenz zu bewegen
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
ruft
xsgetn
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
Schreibbereich |
|
|
schreibt ein Zeichen in den Schreibbereich und bewegt den nächsten Zeiger
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
ruft
xsputn
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
Zurücklegen |
|
|
legt ein Zeichen zurück in die Eingabesequenz
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
bewegt den nächsten Zeiger in der Eingabesequenz um eine Position zurück
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
Geschützte Memberfunktionen
konstruiert ein
basic_streambuf
Objekt
(geschützte Elementfunktion) |
|
|
(C++11)
|
ersetzt ein
basic_streambuf
Objekt
(geschützte Elementfunktion) |
|
(C++11)
|
tauscht zwei
basic_streambuf
Objekte aus
(geschützte Elementfunktion) |
Locales |
|
|
[virtual]
|
reagiert auf eine Änderung des assoziierten Locale
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
Positionierung |
|
|
[virtual]
|
ersetzt den Puffer durch ein benutzerdefiniertes Array, falls erlaubt
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden mittels absoluter Adressierung neu
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
synchronisiert die Puffer mit der assoziierten Zeichensequenz
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
Bereich abrufen |
|
|
[virtual]
|
Ermittelt die Anzahl der für die Eingabe verfügbaren Zeichen in der zugehörigen Eingabesequenz, falls bekannt
(geschützte virtuelle Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
Liest Zeichen aus der zugehörigen Eingabesequenz in den Get-Bereich
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
Liest Zeichen aus der zugehörigen Eingabesequenz in den Get-Bereich und bewegt den nächsten Zeiger vorwärts
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
liest mehrere Zeichen aus der Eingabesequenz
(virtuelle geschützte Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Lesebereichs zurück
(geschützte Elementfunktion) |
|
|
bewegt den nächsten Zeiger in der Eingabesequenz vor
(geschützte Elementfunktion) |
|
|
positioniert die Anfangs-, Nächste- und End-Zeiger der Eingabesequenz neu
(geschützte Elementfunktion) |
|
Put-Bereich |
|
|
[virtual]
|
Schreibt mehrere Zeichen in die Ausgabesequenz
(geschützte virtuelle Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
Schreibt Zeichen in die zugehörige Ausgabesequenz aus dem Put-Bereich
(virtuelle geschützte Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Put-Bereichs zurück
(geschützte Member-Funktion) |
|
|
bewegt den nächsten Zeiger der Ausgabesequenz vorwärts
(geschützte Elementfunktion) |
|
|
positioniert die Anfangs-, Nächste- und End-Zeiger der Ausgabesequenz neu
(geschützte Elementfunktion) |
|
Putback |
|
|
[virtual]
|
Fügt ein Zeichen zurück in die Eingabesequenz ein und modifiziert möglicherweise die Eingabesequenz
(geschützte virtuelle Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|
Hinweise
| Feature-Test Makro | Wert | Std | Funktion |
|---|---|---|---|
__cpp_lib_fstream_native_handle
|
202306L
|
(C++26) | Native Handles Unterstützung |
Siehe auch
|
Objekttyp, der in der Lage ist, alle Informationen zu speichern, die zur Steuerung eines C-I/O-Streams benötigt werden
(typedef) |