File stream formatieren
-
Hiho,
ich habe einen wofstream,welche u.a. Zahlen rausschreibt. Diese sollen "schön" formatiert werden:
1: 0 1 1
2: 10 100 25Die Zahlen sollen also untereinander stehen. Nun habe ich bei den stram-Manipulatoren geschaut und width, precision usw entdeckt. Die werden aber irgendwie immer nur auf die erste Eingabe angewendet:
file.width(10); filer << 1 << 10 < 100 << endl;Die 1 wird mit der width(10) formatiert, die 10 schon nicht mehr.
Wie geht es, dass die Formatierung wirklich gültig bleibt?MfG Pellaeon
-
Exakt setw() und setfill() werden immer nur auf den nächsten operand des Streams angewendet.
#include <iostream> #include <iomanip> filer << setw(10) << 1 << setw(10) << 10 < 100 << endl;Edit: Typos entfernt.
-
Also gibt es keine Möglichkeit, das einmal zu setzen, sodass es auf alle folgende Elemente angwwandt wird?
-
Du würdest bei printf(...) ja auch für jede Variable einen eigenen fixen Formatierungswert wählen müssen, ich kenne jedenfalls keine Methode die Füllzeichen oder Breitenformatierung dauerhaft im ostream speichert.
-
DeepCopy schrieb:
Exakt setw() und setfill() werden immer nur auf den nächsten operand des Streams angewendet.
setw schon, setfill hält sich aber, bis man was anderes setzt, glaube ich.