Verständnisfrage zu Stringstreams



  • Salve,

    wenn ich mit

    ostringstream ostr;

    einen Stringstream anlege und mit einigen << Operationen etwas hineinschiebe, dann steht das alles hinterher schön drin, wie sich das gehört.
    Wenn ich aber den Stream bei der Definition mit einem Text initialisiere:

    ostringstream ostr("Test-Text");

    dann überschreiben die << Operationen den Initialisierungstext. Warum hängen sie ihre Ausgabe nicht hinten an?



  • Hem, eigentlich müssten die angehängt werden. Welchen Compiler bzw. welche Std-Lib-Implementierung benutzt du?



  • Belli schrieb:

    ...

    Probiers mal so:

    std::ostringstream ostr("Test-Text", std::ios_base::app);
    

    Per default wird der stringstream mit std::ios_base::out angelegt, und das bedeutet, der Schreibzeiger befindet sich am Anfang des Streams.



  • Bulli schrieb:

    Hem, eigentlich müssten die angehängt werden. Welchen Compiler bzw. welche Std-Lib-Implementierung benutzt du?

    Mingw bzw. gcc/g++ - aber Tachyon hat die Erklärung ja schon geliefert. Danke schön!


Anmelden zum Antworten