You are on page 1of 7

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

FACULTAD DE INGENIERIA ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS

CURSO: COMPUTACIN: ARCHIVOS EN C++ DOCENTE: ZORAIDA VIDAL MELGAREJO

INTEGRANTES:
BLAS ZAVALETA MAICOL CHAVEZ BRIONES JORGE CRUZADO ACUA MOISES LUJAN VENTURA JEANMARCO SOLES CAVERO EDILBERTO SANCHEZ BARRIENTOS JAVIER

TRUJILLO - PERU 2012 1

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

CONCEPTO

Los archivos son medios que facilita el lenguaje para almacenar los datos en forma permanente, normalmente en los dispositivos de almacenamiento estndar.
Se utilizan los archivos para manejar gran cantidad de datos del mismo y diferente tipo al mismo tiempo (arreglos y arreglos de estructuras). El problema es que el programa retiene los datos mientras est ejecutndose y se pierden al terminar la ejecucin. La solucin para hacer que los datos no se pierdan es almacenarlos en un fichero o archivo. Un fichero es una coleccin de informacin que almacenamos en un soporte magntico para poder manipularla en cualquier momento. Esta informacin se almacena como un conjunto de registros.

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 consecuencia, abrir un fichero significa definir un stream. Dicho stream permite la transferencia de datos entre el programa y el fichero en disco.

Stream Buffer (RAM) Fichero

El buffer es un rea de memoria situada en la RAM asignada al programa que abre el archivo. 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: El acceso a la memoria RAM consume menos tiempo que el acceso a un dispositivo fsico. El buffer hace que el nmero de accesos al fichero fsico sea menor. El uso del buffer permite realizar operaciones de entrada salida de forma ms eficiente.

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

ORGANIZACIN DE ARCHIVOS Archivos de acceso secuencial: los datos se almacenan de forma consecutiva y no es posible leer un registro directamente, es decir para leer el registro n hay que leer los n-1 registros anteriores. Archivos de acceso aleatorio: se puede acceder a un registro concreto sin necesidad de leer todos los anteriores. TIPO DE ALMACENAMIENTO EN ARCHIVOS Archivos de texto: Los datos se almacenan usando cdigo ASCII y por tanto, pueden ser procesados por cualquier editor de texto. Archivos binarios: Los datos se almacenan en binario. BIBLIOTECA DE FLUJOS Para poder manipular archivos, C++ dispone de la biblioteca estndar 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> OPERACIONES ASOCIADAS A ARCHIVOS Abrir fichero Para entrada o lectura Para salida o escritura - en modo truncado - en modo aadir Cerrar fichero, Lectura y escritura, Funciones de control. 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. Abrir el archivo para lectura o entrada: Abrir un archivo para entrada, es definir un flujo de archivo de entrada.

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

Ifstream <flujo_entrada> (ruta_de_localizacin); Ifstream: Input file stream. <Flujo _entrada>: El nombre del flujo debe ser un identificador permitido. Ruta_de_localizacin: Nombre fsico. En el programa, nos referiremos al fichero utilizando el nombre del flujo. ABRIR EL FICHERO PARA LA LECTURA #include <fstream.h> .. .. .. Ifstream leer_fich (a:\\misdatos.txt); Hemos definido el flujo de entrada leer_fich. ABRIR EL ARCHIVO PARA ESCRITURA O SALIDA Abrir un archivo para salida, es definir un flujo de archivo de salida. Existen dos posibilidades: ofstream <flujo_salida> (ruta_de_localizacin); ofstream <flujo_salida> (ruta_de_localizacin, ios_base:out ) ; Si se abre un archivo en modo salida y dicho archivo ya existe, todos los datos almacenados sern sobrescritos. Si el archivo no existe, se crear. LECTURA DE ARCHIVOS DE TEXTO La biblioteca estndar fstream.h nos proporciona funciones para el control de flujos. Ya las habamos visto cuando analizamos el flujo estndar cin. 1. Lectura de cadenas, incluyendo caracteres en blanco 2. Lee un carcter del flujo de entrada y devuelve falso cuando se ha alcanzado fin de fichero <flujo_entrada>.getline: cadena tamao carcter void <flujo_entrada>.get: char bool

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

ESCRITURA DE ARCHIVOS DE TEXTO La escritura de un archivo de texto se puede realizar con el operador de insercin ( <<).

Escribe un carcter en el flujo de salida. <flujo_salida>.put : char void

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

EJEMPLOS Ficheros de texto desde C++ El manejo de ficheros desde C++ puede llegar a ser casi tan sencillo como el manejo de la entrada y salida estndar (pantalla y teclado), con la diferencia de que abrimos el fichero (open) antes de trabajar con l y lo cerramos (close) al terminar. Por ejemplo, para escribir una frase en un fichero de texto (que se creara automticamente), podramos usar un fichero de salida (ofstream), as:

#include <iostream> #include <fstream> using namespace std; int main () { ofstream ficheroSalida; ficheroSalida.open ("ficheroTexto.txt"); ficheroSalida << "Texto para el fichero"; ficheroSalida.close(); return 0; }

Si lo que queremos es leer una lnea de un fichero, sera muy similar, pero usaramos ifstream en vez de ofstream, y, si la lnea que leemos puede contener espacios (es lo habitual), usaremos getline en vez de >>, al igual que hacamos con la entrada desde teclado:
#include <iostream> #include <fstream> using namespace std; int main () { ifstream ficheroEntrada; string frase; ficheroEntrada.open ("ficheroTexto.txt"); getline(ficheroEntrada, frase); ficheroEntrada.close (); cout << "Frase leida: " << frase << endl; return 0; }

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERIA DE SISTEMAS

http://mx.answers.yahoo.com/question/index?qid=20100126170324AASaJm9 http://www.nebrija.es/~abustind/Informatica/MetodologiaI/Archivos.pdf

You might also like