Ficheros en C++

Revisión del 08:44 24 may 2011 de Mailay12011 jc.vcl (discusión | contribuciones) (Página creada con '{{Definición |nombre= Ficheros en C++ |imagen= |tamaño= |concepto= Es una colección de elementos lógicamente relacionados y almacenados en memoria secundaria. A más bajo ni...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ficheros en C++
Información sobre la plantilla
Concepto:Es una colección de elementos lógicamente relacionados y almacenados en memoria secundaria. A más bajo nivel, un fichero es una secuencia de bits almacenado en algún dispositivo externo (como por ejemplo uno de memoria secundaria).

En C++ un fichero es simplemente un flujo externo que se puede abrir para entrada (dando lugar a un flujo de archivo de entrada que, para simplificar, llamaremos simplemente archivo o fichero de entrada), para salida (dando lugar a un flujo de archivo de salida que, para simplificar, llamaremos simplemente archivo o fichero de salida) o para entrada-salida(archivo o fichero de entrada-salida o archivo de E/S).

Definición, Apertura y Cierre de Ficheros

  • Declaración de Variables de tipo "Fichero":

ifstream descriptor; // Para fichero de entrada ofstream descriptor; // Para ficheros de salida

  • Apertura de Ficheros de Texto (supongamos TCadena nombre)

in.open(nombre); // Apertura para Lectura out.open(nombre); /*Apertura para Escritura. (borra el

                                        contenido si lo hubiera)*/

out.open(nombre,ios::app); //Apertura para añadir datos al final in.open(nombreios::in|ios:: out); //Apertura para Lectura y Escritura out.open (nombre,ios::in|ios:: out); //Apertura para Lectura y Escritura

  • Cierre de ficheros: Un fichero anteriormente abierto y con un descriptor asociado a él debe ser cerrado con el fin de liberar los recursos asociados a él de la siguiente forma:

descriptor.close( )

Detección de fin de fichero y otras funciones

  • La función eof() que devuelve true si se ha alcanzado el final del fichero y falso en cualquier otro caso. REQUIERE LECTURA ADELANTADA: Para que la función eof() devuelva un valor de verdad (actualizado).
  • La funcioón fail() devuelve true si existe un error en una operación de flujo asociada al fichero.
  • La función bad() devuelve true si el flujo está corrupto.
  • La función good() que devuelve true si no existe un error en una operación de flujo y false en caso contrario.

Antes de empezar a leer o escribir en un fichero es siempre conveniente verificar que la operación de apertura se realizó con éxito.

Ficheros de texto

La lectura y la escritura en un archivo de texto se puede realizar directamente con los operadores << y >> al igual que se realiza sobre los flujos estándares cin y cout.


Fuente

Laboratorio de Programación 1º A E.T.S.I. Informática Gestión