Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++
- Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001
#include <iostream>
#include <strstream>
int main()
{
// dynamischen char*-Stream zum Schreiben erzeugen
std::ostrstream puffer;
// formatiert beschreiben und mit Stringendekennzeichen abschließen
puffer << "Pi: " << 3.1415 << std::ends;
/* Zeichenfolge ausgeben
* - str() friert char*-Stream ein
*/
std::cout << puffer.str() << std::endl;
// das Einfrieren aufheben
puffer.freeze(false);
// so positionieren, dass std::ends überschrieben wird
puffer.seekp(-1,std::ios::end);
// char* stream weiter beschreiben
puffer << " oder auch: " << std::scientific << 3.1415
<< std::ends;
/* Zeichenfolge ausgeben
* - str() friert char*-Stream ein
*/
std::cout << puffer.str() << std::endl;
// das Einfrieren aufheben, damit Speicherplatz freigegeben wird
puffer.freeze(false);
}