viernes, 16 de diciembre de 2011

C++ - Leccion 8

Archivos en C++

Los programas que crearmos manejan datos en "tiempo de ejecucion", es decir esos datos existen mientras el programa corra, pero una vez que los cerramos esos datos se pierden, con lo cual un sistema debe tener un método para almacenar cierta información para poder usar en una futura ejecución, principio en el que se basan las "Bases de Datos".

Hoy aprenderemos como manejar un archivo de texto simple ".txt", las bases de datos las dejaremos de lado por ahora, pero más adelante las veremos.

Para manejar los archivos en C++, necesitamos de la librería #include <fstream>
Para los strings recuerden usamos la librería #include <string>

Bien para ingresar los datos al archivo, necesitamos una variable de tipo ofstream y para leer los datos necesitamos una variable de tipo ifstream.

El siguiente ejemplo trata de que por consola pidamos un dato y que lo guardemos automáticamente en un archivo "Hola.txt" :
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
   
    ofstream salida("Hola.txt",ios::app); 
// Abre archivo
    string c;
    cin >>  c;
  // pide dato desde consola
    c="\n"+c; // se le pone un salto de linea al string
    salida << c; // se le agrega el string al archivo
    salida.close(); // se cierra el archivo para guardarlo
     string data;           // variable para leer los datos
     ifstream file;      //  para leer el archivo

     file.open("Hola.txt");      // se lee el archivo
                          
     while (!file.eof( ))      // mientras tenga data
     {
              
          file >> data;     // se lee un token (palabras separadas por espacios de linea o saltos de linea)
          cout<<data<<endl;     // imprime token almacenado en data       
     }
     file.close( );       //se cierra el stream file
   

    system("PAUSE");
    return EXIT_SUCCESS;
}

No hay comentarios:

Publicar un comentario