Pregunta

Estoy tratando de crear un ostream ++ c por razones educativas. Mi prueba será la creación de un ostream que actúa como un ofstream sería menos que en vez de escribir en un archivo que escribiría a un contenedor deque o vector.

Otros consejos

El uso std :: stringstream

#include <iostream>
#include <sstream>
int main()
{
    std::stringstream   s;
    s << "Plop" << 5;

    std::cout << s.str();
}

Voy a comentar que no tiene que escribir una clase ostream como para eso. Se puede utilizar un adaptador para lograr su objetivo.

Por ejemplo, este código lee desde istream e inserta cada elemento en un vector:

vector<string> V;
copy(istream_iterator<string>(cin), 
     istream_iterator<string>(), 
     back_inserter(V)); 

Sin más detalles sobre lo que quiere hacer, es difícil ser demasiado específico, pero no desea crear un nuevo ostream. Lo que se quiere hacer es crear un nuevo tipo de streambuf, y utilizar un ostream existente.

Lo easyist que hacer es heredar de std :: basic_filebuf <>, y la sobrecarga de la sincronización () y desbordamiento () para añadir elementos a sus estructuras de datos.

scroll top