std::basic_filebuf
| Definiert in Header <fstream> |
||
| template< class CharT, |
||
std::basic_filebuf ist ein std::basic_streambuf, dessen zugeordnete Zeichensequenz eine Datei ist. Sowohl die Eingabesequenz als auch die Ausgabesequenz sind mit derselben Datei verknüpft, und für beide Operationen wird eine gemeinsame Dateiposition beibehalten. Die Einschränkungen für das Lesen und Schreiben einer Sequenz mit std::basic_filebuf sind dieselben wie für std::FILEs.
Die Funktionen underflow() und overflow() / sync() führen die eigentliche I/O zwischen der Datei und den Lese- und Schreibbereichen des Puffers durch. Wenn CharT nicht char ist, speichern die meisten Implementierungen Multibyte-Zeichen in der Datei und eine std::codecvt Facette wird zur Konvertierung von Wide-/Multibyte-Zeichen verwendet.
Mehrere Typedefs für gängige Zeichentypen werden bereitgestellt
| Definiert in Header
<fstream> | |
| Typ | Definition |
std::filebuf
|
std::basic_filebuf<char> |
std::wfilebuf
|
std::basic_filebuf<wchar_t> |
Inhalt |
[edit] Member types
| 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, was std::fpos<Traits::state_type> sein muss |
off_type
|
Traits::off_type |
native_handle_type(C++26) |
implementierungsabhängiger Typ, der TriviallyCopyable und semiregular ist |
[edit] Member functions
Öffentliche Memberfunktionen | |
konstruiert ein basic_filebuf Objekt(public member function) | |
| (C++11) |
weist ein basic_filebuf Objekt zu(public member function) |
| (C++11) |
tauscht zwei basic_filebuf Objekte(public member function) |
| (C++26) |
gibt den zugrundeliegenden implementierungsabhängigen Handle zurück (public member function) |
| [virtuell] |
destruiert ein basic_filebuf Objekt und schließt die Datei, falls sie geöffnet ist(virtual public member function) |
| prüft, ob die zugeordnete Datei geöffnet ist (public member function) | |
| öffnet eine Datei und konfiguriert sie als zugeordnete Zeichensequenz (public member function) | |
| Leert den Ausgabepuffer und schließt die zugehörige Datei (public member function) | |
Geschützte Memberfunktionen | |
| [virtuell] |
stellt optional die Anzahl der für die Eingabe aus der Datei verfügbaren Zeichen bereit (virtual protected member function) |
| [virtuell] |
liest aus der zugeordneten Datei (virtual protected member function) |
| [virtuell] |
liest aus der zugeordneten Datei und verschiebt den nächsten Zeiger im Leseberich (virtual protected member function) |
| [virtuell] |
macht die Eingabesequenz rückgängig, um ein Zeichen zurückzulegen, ohne die zugeordnete Datei zu beeinflussen (virtual protected member function) |
| [virtuell] |
schreibt Zeichen aus dem Schreibbereich in die zugeordnete Datei (virtual protected member function) |
| [virtuell] |
stellt einen vom Benutzer bereitgestellten Puffer bereit oder macht diesen Filebuf unbuffered (virtual protected member function) |
| [virtuell] |
positioniert die Dateiposition neu, unter Verwendung relativer Adressierung (virtual protected member function) |
| [virtuell] |
positioniert die Dateiposition neu, unter Verwendung absoluter Adressierung (virtual protected member function) |
| [virtuell] |
schreibt Zeichen aus dem Schreibbereich in die zugeordnete Datei (virtual protected member function) |
| [virtuell] |
ändert die zugeordnete Locale (virtual protected member function) |
[edit] Non-member functions
| spezialisiert den Algorithmus std::swap (Funktionsvorlage) |
Geerbt von std::basic_streambuf
Membertypen
| 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 |
Memberfunktionen
| [virtuell] |
zerstört das basic_streambuf-Objekt(virtuelle öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) |
Lokale | |
| ändert die zugeordnete Locale und ruft imbue() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| holt eine Kopie der zugeordneten Locale (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Positionierung | |
| ruft setbuf() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft seekoff() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft seekpos() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft sync() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Get-Bereich | |
| holt die Anzahl der im Get-Bereich sofort verfügbaren Zeichen (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| bewegt die Eingabesequenz vorwärts und liest dann ein Zeichen, ohne erneut vorzurücken (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| (in C++17 entfernt) |
liest ein Zeichen aus der Eingabesequenz und rückt die Sequenz vor (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| liest ein Zeichen aus der Eingabesequenz, ohne die Sequenz vorzurücken (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft xsgetn() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Put-Bereich | |
| schreibt ein Zeichen in den Put-Bereich und rückt den nächsten Zeiger vor (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft xsputn() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Putback | |
| legt ein Zeichen zurück in die Eingabesequenz (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| verschiebt den nächsten Zeiger in der Eingabesequenz um eins zurück (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Geschützte Memberfunktionen
konstruiert ein basic_streambuf-Objekt(geschützte Member-Funktion) | |
| (C++11) |
ersetzt ein basic_streambuf-Objekt(geschützte Member-Funktion) |
| (C++11) |
tauscht zwei basic_streambuf-Objekte(geschützte Member-Funktion) |
Lokale | |
| [virtuell] |
reagiert auf eine Änderung der zugeordneten Locale (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
Positionierung | |
| [virtuell] |
ersetzt den Puffer durch ein benutzerdefiniertes Array, falls zulässig (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung absoluter Adressierung (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
synchronisiert die Puffer mit der zugeordneten Zeichensequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
Get-Bereich | |
| [virtuell] |
holt die Anzahl der für die Eingabe in der zugeordneten Eingabesequenz verfügbaren Zeichen, falls bekannt (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
liest Zeichen aus der zugeordneten Eingabesequenz in den Get-Bereich (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
liest Zeichen aus der zugeordneten Eingabesequenz in den Get-Bereich und rückt den nächsten Zeiger vor (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
liest mehrere Zeichen aus der Eingabesequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Get-Bereichs zurück (geschützte Member-Funktion) | |
| rückt den nächsten Zeiger in der Eingabesequenz vor (geschützte Member-Funktion) | |
| positioniert die Zeiger für Anfang, nächsten und Ende der Eingabesequenz neu (geschützte Member-Funktion) | |
Put-Bereich | |
| [virtuell] |
schreibt mehrere Zeichen in die Ausgabesequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
schreibt Zeichen aus dem Put-Bereich in die zugeordnete Ausgabesequenz (virtuelle geschützte Member-Funktion 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) | |
| rückt den nächsten Zeiger der Ausgabesequenz vor (geschützte Member-Funktion) | |
| positioniert die Zeiger für Anfang, nächsten und Ende der Ausgabesequenz neu (geschützte Member-Funktion) | |
Putback | |
| [virtuell] |
legt ein Zeichen in die Eingabesequenz zurück, möglicherweise unter Änderung der Eingabesequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
[edit] Hinweise
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_fstream_native_handle |
202306L |
(C++26) | Unterstützung nativer Handles |
[edit] Siehe auch
| Objekttyp, der alle für die Steuerung eines C-I/O-Streams benötigten Informationen speichern kann (typedef) |