Diferencia entre revisiones de «Ficheros en C++»

Línea 12: Línea 12:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
| ifstream descriptor;     // Para fichero de entrada
+
| ifstream descriptor;             // Para fichero de entrada
| ofstream descriptor;   // Para ficheros de salida
+
|-
 +
| ofstream descriptor;           // Para ficheros de salida
 
|}
 
|}
  
 
*Apertura de [[Ficheros]] de Texto (supongamos TCadena nombre)
 
*Apertura de [[Ficheros]] de Texto (supongamos TCadena nombre)
 
+
{| class="wikitable" border="1"
in.open(nombre);                 // Apertura para Lectura
+
|-
out.open(nombre);                       /*Apertura para Escritura. (borra el  
+
| in.open(nombre);                     // Apertura para Lectura
                                        contenido si lo hubiera)*/
+
|-
out.open(nombre,ios::app);         //Apertura para añadir datos al final
+
| out.open(nombre);                                           /*Apertura para Escritura. (borra el  
in.open(nombreios::in|ios:: out); //Apertura para Lectura y Escritura
+
                                        contenido si lo hubiera)*/
out.open (nombre,ios::in|ios:: out); //Apertura para Lectura y Escritura
+
|-
 +
| 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:
 
*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:
Línea 38: Línea 45:
 
== Ficheros de texto==
 
== 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.
 
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==
 
==Fuente==
 
Laboratorio de Programación 1º A E.T.S.I. Informática Gestión
 
Laboratorio de Programación 1º A E.T.S.I. Informática Gestión
 
[[Category: Informática]]
 
[[Category: Informática]]

Revisión del 09:01 24 may 2011

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
ios:: out); //Apertura para Lectura y Escritura
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