ostream leeren
-
Hallo,
ich habe in ostream etwas geschrieben ...
ostream << "...";und jetzt möchte ich ihn wieder leeren.
Wie geht das???
-
ostream.flush()?
Wenn du allerdings keinen Output hast wirds interessant *g*
MfG SideWinder
-
geht net auch ostream.clear(); ?
-
Das löscht sämtliche Fehler-Bits die eine Störung des Streams anzeigen, der Inhalt wird aber nicht angerührt.
MfG SideWinder
-
Damit werden doch nur die "Zustände"/Status-Bits vom stream gelöscht. (Es wird quasi das goodbit gesetzt.)
-
axo, kk, dann weiß ich bescheid, kann man auch z.b. nen fstream mit flush leeren?
oder geht des nur mit clear?
-
Konrad schrieb:
[...](Es wird quasi das goodbit gesetzt.)
Nicht unbedingt. Korrekt ist, dass alle bits des asoziierten Streams gelöscht werden und dann der Stream den Zustand bekommt, den du ios::clear() als Argument übergibst. (Als Default-Wert ist hier jedoch ios::goodbit gesetzt). (Siehe eventuell auch hier.)
Caipi
-
Vorden schrieb:
axo, kk, dann weiß ich bescheid, kann man auch z.b. nen fstream mit flush leeren?
oder geht des nur mit clear?fstream kannst du auch mit flush leeren, aber Achtung: fstream repräsentiert nicht die Datei sondern einen Stream zwischen dir und der Datei.
Heißt du schreibst aus dem Programm in den fstream:
| fstream | Programm -> | [X] [X] [ ] [ ] | Datei | |Läuft der Stream über, rufst du flush oder close auf wird in Streamrichtung alles aus dem Stream geschoben:
| fstream | Programm -> | [ ] [ ] [ ] [ ] | Datei | | XXAlso: Mit fstream.flush() leerst du nicht die Datei sondern schreibst das aus dem Stream in die Datei!
MfG SideWinder
-
ahjo, also quasi, wie bei cout<<"...."<<flush; wo der Puffer auf den Bildschirm entleert wird
-
Jop, cout ist ja auhc nur ein ostream

MfG SideWinder