Ausgabestreams
Ein Ausgabestreamobjekt ist ein Ziel für Bytes. Die drei wichtigsten Ausgabestreamklassen sind ostream
, ofstream
und ostringstream
.
Die ostream
-Klasse, durch die abgeleitete Klasse basic_ostream
, unterstützt die vordefinierten Streamobjekte:
cout
-Standardausgabecerr
-Standardfehler mit eingeschränkter Pufferungclog
ähnlich wiecerr
, jedoch mit vollständiger Pufferung
Objekte werden nur selten von ostream
erstellt; im Allgemeinen werden vordefinierte Objekte verwendet. In einigen Fällen weisen Sie vordefinierte Objekte nach dem Programmstart neu zu. Die ostream
-Klasse, die für gepufferte oder nicht gepufferte Vorgänge konfiguriert werden kann, eignet sich am besten für sequenzielle Textmodusausgabe. Alle Funktionalitäten der Basisklasse ios
sind in ostream
enthalten. Wenn Sie ein Objekt der Klasse ostream
erstellen, müssen Die dem Konstruktor ein streambuf
-Objekt angeben.
Die ofstream
-Klasse unterstützt die Datenträgerdateiausgabe. Wenn Sie einen Datenträger nur für Ausgaben benötigen, erstellen Sie ein Objekt der Klasse ofstream
. Sie können angeben, ob ofstream
-Objekte Binär-oder Textmodusdaten beim Erstellen des ofstream
-Objekts oder beim Aufruf der open
-Memberfunktion des Objekts akzeptieren. Viele Formatierungsoptionen und Memberfunktionen gelten für ofstream
-Objekte und alle Funktionen der Basisklassen ios
und ostream
sind enthalten.
Wenn Sie im Konstruktor einen Dateinamen angeben, wird die Datei automatisch geöffnet, wenn das Objekt erstellt wird. Andernfalls können Sie die open
-Memberfunktion nach dem Aufrufen des Standardkonstruktors verwenden.
Wie die Laufzeitfunktion sprintf_s
unterstützt die ostringstream
-Klasse die Ausgabe von Zeichenfolgen im Arbeitsspeicher. Um eine Zeichenfolge mithilfe der E/A-Streamformatierung im Arbeitsspeicher zu erstellen, erstellen Sie ein Objekt der Klasse ostringstream
.
In diesem Abschnitt
Konstruieren von Ausgabestreamobjekten
Verwenden von Einfügeoperatoren und Festlegen des Formats
Ausgabedateistream-Memberfunktionen
Überladen des << Operators für Ihre eigenen Klassen
Schreiben eigener Manipulatoren ohne Argumente