elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Sobre-escribir archivo [SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Sobre-escribir archivo [SOLUCIONADO]  (Leído 2,296 veces)
DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
[C++] Sobre-escribir archivo [SOLUCIONADO]
« en: 16 Mayo 2015, 11:23 am »

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
  1. ifstream fe(datname);
  2. if(fe.good()){
  3. // Se muestra el contenido
  4. while(!fe.eof())
  5.        {
  6.            char c = fe.get();
  7.            str += c;
  8.  
  9.    if(c == '\n') {
  10.                cout << str;
  11.                str = "";
  12.            }
  13.        }
  14.  
  15.        cout << "\n?Que desea hacer?" << endl;
  16.        cin >> hacerOpcion;
  17.  
  18.        if(hacerOpcion == "modificar"){
  19.         cout << "Modificando archivo..." << endl;
  20.  
  21.         ifstream fe(datname);
  22.  
  23.         if(fe.good()){
  24.         getline(cin, empresaDos);
  25.         cout << "Empresa: ";
  26.            getline(cin, empresaDos);
  27.  
  28.            cout << "Edad: ";
  29.            cin >> edadDos;
  30.  
  31.            empresaDos = "Empresa: " + empresaDos;
  32.            edadDos = "Edad: " + edadDos;
  33.  
  34.            cin.ignore(2, '\n');
  35.  
  36.            file.write(empresaDos.c_str(), empresaDos.size());
  37.            file << endl;
  38.            file << endl;
  39.            file.write(edadDos.c_str(), edadDos.size());
  40.  
  41.            file.close();
  42.         }
  43.        }
  44.        else{
  45.         cout << "La opcion seleccionada no existe." << endl;
  46.        }
  47. }
  48. else{
  49. cout << "El archivo no ha sido encontrado." << endl;
  50. }

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.


« Última modificación: 16 Mayo 2015, 19:29 pm por YuseTist » En línea

Esta página web no está disponible - Google Chrome
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: [C++] Sobre-escribir archivo
« Respuesta #1 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.


En línea

DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
Re: [C++] Sobre-escribir archivo
« Respuesta #2 en: 16 Mayo 2015, 19:19 pm »

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
  1. fe.write(empresaDos.c_str(), empresaDos.size());
  2.        fe << endl;
  3.        fe << endl;
  4.        fe << edadDos << endl;

Y usar ofstream.

Gracias.

Saludos.
En línea

Esta página web no está disponible - Google Chrome
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines