Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2015, 04:14
Avatar de Tropy
Tropy
 
Fecha de Ingreso: diciembre-2013
Mensajes: 62
Antigüedad: 10 años, 5 meses
Puntos: 1
[C++] Declarar file

Buenas,

Tengo un problema al declarar un archivo (file), intento declararlo pero aún así no funciona. Intento sobre-escribir el texto de un archivo.

Acá el código:

Código C++:
Ver original
  1. string str;
  2.     string buscarNombre;
  3.     string hacerOpcion;
  4.     string empresaDos;
  5.     string edadDos;
  6.     FILE *pFile;
  7.    
  8.     cout << "Introduce el nombre a buscar: ";
  9.     cin >> buscarNombre;
  10.  
  11.     const char *datname; // No podemos modificar el valor
  12.    
  13.     buscarNombre = "archivos/" + buscarNombre + ".dat"; // Asignamos un valor a la variable
  14.    
  15.     datname = buscarNombre.c_str(); // c_str devuelve un const char*
  16.    
  17.     ifstream fe(datname);
  18.     if(fe.good()){
  19.         // Se muestra el contenido
  20.         while(!fe.eof())
  21.         {
  22.             char c = fe.get();
  23.             str += c;
  24.        
  25.             if(c == '\n') {
  26.                 cout << str;
  27.                 str = "";
  28.             }
  29.         }
  30.        
  31.         cout << "\n?Que desea hacer?" << endl;
  32.         cin >> hacerOpcion;
  33.        
  34.         if(hacerOpcion == "modificar"){
  35.             cout << "Modificando archivo..." << endl;
  36.            
  37.             ifstream fe(datname);
  38.            
  39.             if(fe.good()){
  40.                
  41.                 pFile = fopen("prueba.dat", "r+");
  42.                
  43.                 getline(cin, empresaDos);
  44.                 cout << "Empresa: ";
  45.                 getline(cin, empresaDos);
  46.    
  47.                 cout << "Edad: ";
  48.                 cin >> edadDos;
  49.    
  50.                 empresaDos = "Empresa: " + empresaDos;
  51.                 edadDos = "Edad: " + edadDos;
  52.    
  53.                 cin.ignore(2, '\n');
  54.                
  55.                 file.write(empresaDos.c_str(), empresaDos.size());
  56.                 file << endl;
  57.                 file << endl;
  58.                 file.write(edadDos.c_str(), edadDos.size());
  59.                
  60.                 file.close();
  61.             }
  62.         }
  63.         else{
  64.             cout << "La opcion seleccionada no existe." << endl;
  65.         }
  66.     }
  67.     else{
  68.         cout << "El archivo no ha sido encontrado." << endl;
  69.     }

Agradecería alguna ayuda.

Saludos.