Advertisement
Namaru

Lectura/Escritura Archivo Secuencial

Apr 5th, 2023
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <functional>
  3. #include <conio.h>
  4. #include <fstream>
  5. #include <string>
  6.  
  7. using namespace std;
  8.  
  9. bool escribirArchivo(string linea)
  10. {
  11.     ofstream archivo;
  12.     archivo.open("..\\output\\ejeplo1.txt", ios::app);
  13.     // ruta relativa del archivo para windows --
  14.     // ios::app verifica si existe ya el archivo sino lo crea ademas de escribir en el ultimo punto.
  15.     if (!archivo)
  16.     {
  17.         cout << "No se puede abrir el archivo";
  18.         exit(EXIT_FAILURE);
  19.         return false;
  20.     }
  21.     getline(cin >> ws, linea);
  22.     if(sizeof(archivo)==0){
  23.         //Para evitar un error al imprimir el archivo se comprueba si el archivo es nuevo si es asi escribe solo en la primera
  24.         //fila para generar el primer registro
  25.         archivo << linea ;
  26.     }else{
  27.         //de no serlo creala un salto de lina para otro registro
  28.         archivo << endl << linea;
  29.     }    
  30.     archivo.flush();
  31.     archivo.close();
  32.     return true;
  33. }
  34.  
  35. void leerArchivo(bool comprabacion)
  36. {
  37.     comprabacion = true;
  38.     if (comprabacion)
  39.     {
  40.         ifstream archivo;
  41.         string lectura;
  42.         archivo.open("..\\output\\ejeplo1.txt");
  43.         if (!archivo)
  44.         {
  45.             cout << "No se puede abrir el archivo";
  46.             exit(EXIT_FAILURE);
  47.         }
  48.         int i = 0;
  49.         while (!archivo.eof())
  50.         //eof funcion de la clase sftream que detecta el final de un fichero
  51.         {
  52.             getline(archivo >> ws, lectura);
  53.             cout << lectura << endl;
  54.             cout << "Pasada: " << i++ << endl;
  55.         }      
  56.     }
  57. }
  58.  
  59. int main()
  60. {
  61.     string linea;
  62.     bool comprobacion;
  63.     cout << "Ingrese cualquier cosa" << endl;
  64.     comprobacion = escribirArchivo(linea);
  65.     cout << "Los datos guardados en el archivo son: \n";
  66.     leerArchivo(comprobacion);
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement