[C++] iostreams leeren

Hallo zusammen,

wie kann ich einen Ausgabestrom leeren ? „ends“ bzw. flush
wollen irgendwie nicht richtig funktionieren, hier kurz dargestellt:

ostrstream puffer;
ofstream ausgabe;
double m(0);
do
{
 // Generiere neue Dateinamen

 puffer 

Der Puffer bleibt entweder ganz leer mit ends oder flush (egal was ich reinschiebe), andernfalls wird er ohne ends immer laenger.
Wie geht ?

Danke im voraus
Lars

Hi Larsi :wink:))

cout

Hi Stefan,

danke fuer Deine Antwort, die einiges etwas klarer fuer mich macht:

flush leert den Strom (oder sollte es tun)
ends ist ident. mit einem flush + „\0“
endl ist ident. mit einem flush + „\n“

„flush“ scheint fuer mich richtig zu sein. Das Problem liegt dann im zweiten Durchlauf der Schleife. Ich habe die gekennzeichnete Zeile durch "puffer
ostrstream puffer;
double m(0);
do
{
puffer

Warum wird der Inhalt nach einem „flush“ nicht geloescht, sondern daran angehaengt ? Liegt das daran, dass es auf einen strstream angewandt wird ?

Gruesse und danke im voraus
Lars