4. Hasta ahora, en
nuestros
programas, los
datos que se
generan, como los
correspondientes a
un vector, se
guardan durante la
ejecución en la
memoria volátil del
ordenador, por lo
que su
almacenamiento
desaparece tras la
ejecución del
programa.
En general, la
mayor parte de
las aplicaciones
necesitan leer
datos de
archivos o
escribir datos
en archivos
para un uso
posterior por el
mismo u otro
programa.
6. Un archivo o fichero es una
colección ordenada de datos que
tienen entre sí una relación y que
se almacenan de forma
permanente en un dispositivo de
memoria no volátil.
8. Recalquemos que
cuando en C++
usamos cout,
estamos
escribiendo datos
en el archivo por
defecto o estándar,
la pantalla, y que
cuando
empleamos cin,
estamos leyendo
datos del archivo
por defecto o
estándar, el
teclado.
Cuando no
usamos los
archivos estándar,
tanto en C++ como
en cualquier otro
lenguaje de
programación,
debemos realizar
algunas tareas
adicionales:
9. Abrir el archivo:
hay que asociar
el archivo con
un objeto que
provea la fuente
de datos y
definir si se va
utilizar para
entrada o para
salida de datos,
es decir, para
leer o para
escribir.
Cerrar el archivo: una
vez finalizada la
interacción con el
objeto que representa
el archivo, este hecho
debe ser informado al
S.O. mediante los
métodos apropiados.
Así, el S.O. podrá
realizar las acciones
requeridas para
garantizar que el
archivo queda en un
estado consistente y
seguro.
11. Para trabajar con archivos en C++ debe incluirse
(adicionalmente) la cabecera fstream.
#include <fstream>
De acuerdo con la tarea a realizar se usarán las
clases:
• ifstream: ( input file stream), clase orientada
para la lectura
• ofstream: (output file stream), clase orientada
para la escritura
• fstream: (file stream), cuando deseemos
alternativamente leer o escribir del mismo
fichero en el mismo programa.
13. Para abrir un archivo inicialmente
debemos seleccionar si lo queremos abrir
en lectura, escritura o ambos.
Para escribir o leer, se usan los operadores
de inserción << y extracción >>.
El archivo se cierra implícitamente cuando
el objeto sale del ámbito en el que se ha
definido o explícitamente llamando a la
función miembro close().