Pregunta

podría alguien decirme o apuntar a un ejemplo sencillo de cómo agregar un int a un stringstream que contiene la palabra "algo" (o palabra)?

¿Fue útil?

Solución

stringstream ss;
ss << "Something" << 42;

En el futuro, mira esto.

http://www.cplusplus.com/reference/iostream/stringstream/

Otros consejos

Probablemente haría algo en este orden general:

#include <string>
#include <sstream>
#include <iostream>

int main() {      
    std::stringstream stream("Something ");

    stream.seekp(0, std::ios::end);
    stream << 12345;

    std::cout << stream.str();
    return 0;
}

Con un flujo normal, a añadir al final, te abre con std::ios::ate o std::ios::app como segundo parámetro, pero con corrientes de cuerda, que no parece funcionar de forma fiable (por lo menos con los compiladores reales - ni gcc ni VC ++ produce el resultado que cabe esperar cuando / si lo hago).

Si ya está utilizando impulso, tiene lexical_cast que se puede utilizar para esto. Es básicamente una versión empaquetada de lo anterior, que funciona en cualquier tipo que se puede escribir y leer de una corriente.

string s("something");

s += boost::lexical_cast<string>(12);

Su probablemente no vale la pena utilizar si no está utilizando impulso ya, pero si usted es que puede hacer que el código más claro, sobre todo haciendo algo como

foo(string("something")+boost::lexical_cast<string>(12));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top