[C con Clase] Modificar variable para guardar
Davidson, Steven
srd4121 en njit.edu
Vie Feb 5 19:32:34 CET 2016
Hola Joaquín,
Como parece que quieres guardar todo el contenido del fichero, entonces
creo que la forma más fácil es hacer eso mismo.
Puedes usar un canal de caracteres, 'stringstream', para copiar datos de un
canal a otro; por ejemplo,
ostringstream oss;
file.get( *oss.rdbuf() ); // Lee y copia todos los caracteres del fichero
al canal de caracteres
linea = oss.str(); // Copiamos la cadena interna del canal a nuestra
cadena, 'linea'
Aquí, los caracteres de fin-de-línea se guardarán en la cadena.
Otra solución se basa en agregar cadenas para ir acumulando. Usa dos
cadenas: una temporal para leer cada línea y otra que acumula; por ejemplo,
string strTotal( "" );
while( getline(file, linea) )
strTotal += linea; // Agregamos el contenido de 'linea' al final de
'strTotal'
También puedes optar por invocar 'append()' en lugar de usar el operador
sobrecargado de +=.
Espero que esto te ayude.
Steven
2016-02-05 12:43 GMT-05:00 Joaquin Copello <joaquin.lpda20 en hotmail.com>:
> Buenas gente lo hago simple y rapido para ver si me pueden ayudar. Tengo
> este codigo:
>
>
> 1. #include <fstream>
> 2. #include <string>
> 3.
> 4. int main()
> 5. {
> 6. std::ifstream file("NomFichero.txt");
> 7. std::string linea;
> 8. while (std::getline(file, linea))
> 9. }
>
> Como puedo hacer para que linea no guarde solo lo ultimo que lee si no que
>
> lea una linea y guarde lea otra y guarde y asi sucesivamente. Gracias
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20160205/8e912ddc/attachment.html>
Más información sobre la lista de distribución Cconclase