Contamos con tu apoyo para compartir nuestras secciones con relación a las ciencias informáticas.
Solución:
ifstream f(fName);
stringstream s;
if (f)
s << f.rdbuf();
f.close();
// need to include and , and of course and
ifstream fin("input.txt");
ostringstream sout;
copy(istreambuf_iterator(fin),
istreambuf_iterator(),
ostreambuf_iterator(sout));
En la documentación para ostream
hay varias sobrecargas para operator<<
. Uno de ellos toma un streambuf*
y lee todo el contenido de streambuffer.
Aquí hay un ejemplo de uso (compilado y probado):
#include
#include
#include
#include
int main ( int, char ** )
try
// Will hold file contents.
std::stringstream contents;
// Open the file for the shortest time possible.
std::ifstream file("/path/to/file", std::ios::binary);
// Make sure we have something to read.
if ( !file.is_open() )
throw (std::exception("Could not open file."));
// Copy contents "as efficiently as possible".
contents << file.rdbuf();
// Do something "useful" with the file contents.
std::cout << contents.rdbuf();
catch ( const std::exception& error )
std::cerr << error.what() << std::endl;
return (EXIT_FAILURE);
Aquí tienes las comentarios y valoraciones
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)