[C++] Sobre-escribir archivo [SOLUCIONADO]

Iniciado por DeMoNcRaZy, 16 Mayo 2015, 11:23 AM

0 Miembros y 1 Visitante están viendo este tema.

DeMoNcRaZy

Buenas,

Estoy intentando sobre-escribir los datos de un archivo (para modificarlo) pero me salta error por que no está definido el archivo pero lo tengo encontrado, acá el código:

Me dice que el archivo no está declarado.


Código (cpp) [Seleccionar]
ifstream fe(datname);
if(fe.good()){
// Se muestra el contenido
while(!fe.eof())
       {
           char c = fe.get();
           str += c;
       
   if(c == '\n') {
               cout << str;
               str = "";
           }
       }
       
       cout << "\n?Que desea hacer?" << endl;
       cin >> hacerOpcion;
       
       if(hacerOpcion == "modificar"){
        cout << "Modificando archivo..." << endl;
       
        ifstream fe(datname);
       
        if(fe.good()){
        getline(cin, empresaDos);
        cout << "Empresa: ";
           getline(cin, empresaDos);

           cout << "Edad: ";
           cin >> edadDos;

           empresaDos = "Empresa: " + empresaDos;
           edadDos = "Edad: " + edadDos;

           cin.ignore(2, '\n');
           
           file.write(empresaDos.c_str(), empresaDos.size());
           file << endl;
           file << endl;
           file.write(edadDos.c_str(), edadDos.size());
           
           file.close();
        }
       }
       else{
        cout << "La opcion seleccionada no existe." << endl;
       }
}
else{
cout << "El archivo no ha sido encontrado." << endl;
}


Intento sustituir el texto predefinido por el nuevo, pero no encuentra el archivo aunque lo tenga definido ifstream fe(datname);

Si me pueden echar una ayudita lo agradecería.

Saludos.
Esta página web no está disponible - Google Chrome

Stakewinner00

Pon la línea de código donde se define "file". File la usas en las líneas 36 37 38 39 y 41 pero en el code que pusiste no vi que lo declararas.

Quisiste decir "fe"?

PD: Ir preguntando para cada error no es una buena manera de aprender... Si encuentras un error mira tu code y fíjate un poco, no seas vago.

DeMoNcRaZy

Cita de: Stakewinner00 en 16 Mayo 2015, 11:55 AM
Pon la línea de código donde se define "file". File la usas en las líneas 36 37 38 39 y 41 pero en el code que pusiste no vi que lo declararas.

Quisiste decir "fe"?

PD: Ir preguntando para cada error no es una buena manera de aprender... Si encuentras un error mira tu code y fíjate un poco, no seas vago.

Gracias, y es como bien dices es mejor probar varias cosas.

Al final era un error muy tonto.

En vez de file era fe.

Código (cpp) [Seleccionar]
fe.write(empresaDos.c_str(), empresaDos.size());
        fe << endl;
        fe << endl;
        fe << edadDos << endl;


Y usar ofstream.

Gracias.

Saludos.
Esta página web no está disponible - Google Chrome