Namespaces
Variants

std:: basic_ofstream

From cppreference.net
< cpp ‎ | io
Definiert im Header <fstream>
template <

class CharT,
class Traits = std:: char_traits < CharT >

> class basic_ofstream : public std:: basic_ostream < CharT, Traits >

Die Klassenvorlage basic_ofstream implementiert hochrangige Ausgabeoperationen auf dateibasierten Streams. Sie verbindet einen dateibasierten Streampuffer ( std::basic_filebuf ) mit der hochrangigen Schnittstelle von ( std::basic_ostream ).

Eine typische Implementierung von std::basic_ofstream enthält nur ein einziges nicht-abgeleitetes Datenelement: eine Instanz von std:: basic_filebuf < CharT, Traits > .

cpp/io/ios base cpp/io/basic ios cpp/io/basic ostream std-basic ofstream-inheritance.svg

Vererbungsdiagramm

Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:

Definiert im Header <fstream>
Typ Definition
std::ofstream std :: basic_ofstream < char >
std::wofstream std :: basic_ofstream < 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_ofstream 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)
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

spezialisiert den std::swap Algorithmus
(Funktionsschablone)

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 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 )
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:

Konstante Erklärung
app Vor jedem Schreibvorgang zum Ende des Streams positionieren
binary Im Binärmodus öffnen
in Zum Lesen öffnen
out Zum Schreiben öffnen
trunc Stream-Inhalt beim Öffnen verwerfen
ate Unmittelbar nach dem Öffnen zum Ende des Streams positionieren
noreplace (C++23) Im exklusiven Modus öffnen

(Typedef)
Formatierungsflags-Typ

Die folgenden Konstanten sind ebenfalls definiert:

Konstante Erklärung
dec Dezimalbasis für Integer-I/O verwenden: siehe std::dec
oct Oktalbasis für Integer-I/O verwenden: siehe std::oct
hex Hexadezimalbasis für Integer-I/O verwenden: siehe std::hex
basefield dec | oct | hex . Nützlich für Maskierungsoperationen
left Linksausrichtung (fügt Füllzeichen rechts hinzu): siehe std::left
right Rechtsausrichtung (fügt Füllzeichen links hinzu): siehe std::right
internal Interne Ausrichtung (fügt Füllzeichen an internem Designationspunkt hinzu): siehe std::internal
adjustfield left | right | internal . Nützlich für Maskierungsoperationen
scientific Gleitkommatypen in wissenschaftlicher Notation generieren, oder Hex-Notation wenn kombiniert mit fixed : siehe std::scientific
fixed Gleitkommatypen in Festkommanotation generieren, oder Hex-Notation wenn kombiniert mit scientific : siehe std::fixed
floatfield scientific | fixed . Nützlich für Maskierungsoperationen
boolalpha bool -Typ im alphanumerischen Format einfügen und extrahieren: siehe std::boolalpha
showbase Präfix für numerische Basis bei Integer-Ausgabe generieren, Währungsindikator bei monetärer I/O erfordern: siehe std::showbase
showpoint Dezimalpunkt-Zeichen bedingungslos für Gleitkommazahlen-Ausgabe generieren: siehe std::showpoint
showpos + -Zeichen für nicht-negative numerische Ausgabe generieren: siehe std::showpos
skipws Führende Leerzeichen vor bestimmten Eingabeoperationen überspringen: siehe std::skipws
unitbuf Ausgabe nach jeder Ausgabeoperation leeren: siehe std::unitbuf
uppercase Bestimmte Kleinbuchstaben durch entsprechende Großbuchstaben in bestimmten Ausgabeoperationen ersetzen: siehe std::uppercase

(typedef)
Zustandstyp des Streams

Folgende Konstanten sind ebenfalls definiert:

Konstante Erklärung
goodbit kein Fehler
badbit nicht behebbarer Stream-Fehler
failbit Ein-/Ausgabeoperation fehlgeschlagen (Formatierungs- oder Extraktionsfehler)
eofbit zugehörige Eingabesequenz hat Dateiende erreicht

(Typdefinition)
Suchrichtungstyp

Folgende Konstanten sind ebenfalls definiert:

Konstante Erklärung
beg der Anfang eines Streams
end das Ende eines Streams
cur die aktuelle Position des Stream-Positionsindikators

(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";
    {
        std::ofstream ostrm(filename, std::ios::binary);
        double d = 3.14;
        ostrm.write(reinterpret_cast<char*>(&d), sizeof d); // binäre Ausgabe
        ostrm << 123 << "abc" << '\n';                      // Textausgabe
    }
    // zurücklesen
    std::ifstream istrm(filename, std::ios::binary);
    double d;
    istrm.read(reinterpret_cast<char*>(&d), sizeof d);
    int n;
    std::string s;
    istrm >> n >> s;
    std::cout << " zurückgelesen: " << d << ' ' << n << ' ' << s << '\n';
}

Ausgabe:

zurückgelesen: 3.14 123 abc