Professional Documents
Culture Documents
Contenidos
1. Introduccin.
2. Manipulacin de ficheros.
3. Organizacin de archivos.
4. Tipo de almacenamiento.
5. Biblioteca de flujos.
6. Operaciones asociadas a archivos:
Abrir fichero,
Cerrar fichero,
Lectura y escritura,
Funciones de control.
Archivos en C++
Introduccin
Los archivos son medios que facilita el lenguaje para almacenar los datos
en forma permanente, normalmente en los dispositivos de
almacenamiento estndar.
2
Archivos en C++
Introduccin
FICHERO
Archivos en C++
Manipulacin de Ficheros
En C++, se utilizan streams (flujos) para gestionar la lectura y escritura
de datos. Ya conocemos dos flujos estndar: cin y cout.
RAM
4
Archivos en C++
Manipulacin de Ficheros
Archivos en C++
Nos centraremos solo en archivos
Organizacin de archivos de acceso secuencial
6
Archivos en C++
Biblioteca de flujos
Para poder manipular archivos, C++ dispone de la biblioteca estandar
fstream (file stream) donde se encuentran todas las funciones necesarias
para abrir y cerrar archivos, as como para realizar las operaciones de
lectura y escritura de datos en archivos.
# include <fstream.h>
Archivos en C++
Apertura de archivos
Al igual que los flujos cin y cout, los flujos de E/S solo pueden transferir
datos en una direccin, esto significa que se tienen que definir flujos
diferentes para lectura y escritura de datos.
8
Archivos en C++
#include <fstream.h>
.
ifstream leer_fich (a:\\misdatos.txt);
...
Archivos en C++
Nombre lgico.
El nombre del flujo debe ser un identificador permitido.
10
Archivos en C++
#include <fstream.h>
.
ofstream fich_1 (a:\\misdatos.txt);
11
Archivos en C++
#include <fstream.h>
.
ofstream fich_tres (a:\\misdatos.txt, ios_base::app);
...
12
Archivos en C++
Advertencia
if (fichero_uno)
cout << Apertura con xito";
else
cout << No se ha podido abrir el fichero";
Una vez definidos los flujos con los que va a trabajar nuestro programa,
se pueden utilizar los operadores de insercin(<<) y extraccin(>>) y los
mtodos ya conocidos de lectura de datos vistos para los flujos cin y
cout.
13
Archivos en C++
Cierre de archivos
Cuando el programa ha terminado de manipular el fichero, ste debe
cerrarse. Para cerrar un archivo, basta con ejecutar la funcin close sobre
el flujo asociado al fichero.
#include <fstream.h>
.
ifstream leer_fich (a:\\misdatos.txt);
ofstream fich_1 (a:\\misdatos.txt, ios_base::out);
ofstream fich_dos (a:\\misdatos.txt, ios_base::app);
.
leer_fich.close();
fich_1.close();
Si un fichero no se cierra, es
fich_dos.close(); cerrado automticamente cuando
... termina el programa
14
Archivos en C++
15
Archivos en C++
16
Archivos en C++
17
Archivos en C++
#include <fstream.h>
.
ifstream leer_fich (a:\\datos1.txt);
ofstream write_fich (a:\\datos2.txt);
...
Lee un carcter del flujo de entrada
leer_fich.get(car);
leer_fich.getline(nombre, 20);
write_fich.put(car);
.
leer_fich.close(); Escribe un carcter del flujo de salida
write_fich.close();
...
18
Archivos en C++
<flujo_entrada>.eof: int
#include <fstream.h>
.
ifstream leer_fich (a:\\datos1.txt);
. ..
while (! leer_fich.eof() )
{
leer_fich.getline(nombre, 20);
Mientras no sea final de fichero
linea ++;
}
.
leer_fich.close();
...
19