ostringstream s; s << "123"; cout << s.str().c_str() << endl; // how to clear ostringstream here? s << "456"; cout << s.str().c_str() << endl;
salida es:Cómo borrar ostringstream
123 123456
necesito:
123 456
¿Cómo se suprimen ostringstream para obtener una salida deseada?
+1 para crear una transmisión nueva cada vez. Los flujos pueden tener un montón de estado interno. Restablecer todo eso requiere al menos la misma cantidad de código que el constructor de la secuencia. –
Esta respuesta también vale la pena: http://stackoverflow.com/a/624291/142239 –
pregunta relacionada: cuando se declara en un bucle, se destruirá el ostringstream y se construirá en cada iteración, o tengo que usar este método? Por ejemplo, 'for (int i = 0; i <100; ++ i) {std :: ostringstream foo; foo << "barra"; std :: cout << foo.str() << "";} '. ¿Esto imprimirá: 'bar bar bar [...]' o 'bar barbar barbarbar [...]'? –