Professional Documents
Culture Documents
Clase 13-14
Introduccin.
Manipulacin de ficheros.
Organizacin de archivos.
Tipo de almacenamiento.
Biblioteca de flujos.
Operaciones asociadas a archivos:
1.
2.
3.
4.
5.
6.
Abrir Fichero,
Cerrar Fichero,
Lectura y escritura,
Funciones de control.
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.
En definitiva abrir un fichero significa definir un stream.
Dicho stream permite la transferencia de datos entre el
programa y el fichero en disco.
stream
Buffer
FICHERO
RAM
El buffer es un rea de memoria situada en la RAM asignada
al programa que abre el archivo.
Manipulacin de Ficheros
Toda transferencia de datos entre el programa y el fichero en
disco se realiza a travs del buffer. El buffer est para dar
eficiencia.
Las operaciones de E/S son ms eficientes:
Organizacin de archivos
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>
fichero
-Cerrar
fichero
-Lectura
y escritura
-Funciones
de control
Advertencia
Antes de seguir adelante, es aconsejable comprobar si el
fichero se ha abierto correctamente, tanto si es para
lectura, escritura.
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.
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.
Nombre lgico
<nombre_flujo>.close();
#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);
.
Si un fichero no se cierra, es
leer_fich.close();
cerrado automticamente
fich_1.close();
cuando termina el programa
fich_dos.close();
Ejemplo:
Crear un manipulador de entrada llamado
leerpassword() que emite un sonido y luego
solicita un password.
Ejemplo:
Crear un manipulador de entrada llamado
leerpassword() que emite un sonido y luego
solicita un password.
ifstream leer_fich(a:\\datos1.txt);
ofstream write_fich(a:\\datos2.txt);
int
#include <fstream.h>
ifstream leer_fich(a:\\datos.txt);
Mientras no se final de
while(! leer_fich.eof())
fichero
{
leer_fich.getline(nombre,20);
linea ++;
}
leer_fich.close();
Referencias: