Académique Documents
Professionnel Documents
Culture Documents
Carnet
CA09001
FF09002
LV11007
VV11006
Nota1
6.5
7.0
5.1
9.1
Nota2
7.1
5.1
6.7
7.0
CAMPO
1
Nota3
4.7
6.9
5.4
6.8
Nota4
6.3
4.3
7.1
7.6
Nota5
5.4
6.4
4.9
8.5
En donde, un registro es toda una lnea de la tabla anterior (el grupo de datos de un alumno) y un
campo es uno de los datos de un alumno (el carnet o la nota5, por ejemplo); en este ejemplo el
registro est formado por 7 campos, los primeros dos son alfanumricos y los siguientes cinco son de
tipo real o de punto flotante.
No se podran almacenar o trabajar estos datos como un arreglo bidimensional (matriz), ya que en
sta slo se pueden almacenar datos del mismo tipo. Entonces, la caracterstica de los archivos de
poder almacenar datos de diferentes tipos, se convierte en una de sus principales ventajas. Eso s,
cada registro debe tener la misma organizacin u orden en sus campos, es decir todos los campos 1
de los registros deben almacenar el mismo tipo de informacin (para el ejemplo, el nombre).
Para trabajar con un archivo, se le debe dar un nombre o identificador, igual que a las variables,
vectores, matrices y mdulos; para ello se seguirn las mismas normas: el primer carcter debe ser
una letra, despus se pueden combinar letras y nmeros nicamente y, el guin bajo _.
Caractersticas
Independencia de los datos respecto a los programas, lo que facilita la ejecucin de un programa,
ya que las entradas (y/o salidas) son realizadas desde un archivo. La introduccin de datos forma
parte de la creacin y actualizacin del archivo y no de la ejecucin del programa.
Un archivo puede ser utilizado por distintos programas, en distintos momentos; es decir que, el
mismo grupo de datos puede servir para ms de un programa.
Clasificacin
Existen dos tipos de archivos: archivos de texto y archivos binarios.
Un archivo de texto, es una secuencia de caracteres organizadas en lneas terminadas por un
carcter de nueva lnea (\n), cuyo contenido se puede observar en cualquier editor de texto. Algunos
ejemplos de este tipo de archivo son: archivos de datos, archivos con extensiones html, xml, xsll, etc.
O programas fuentes en lenguajes de programacin de tercera generacin: C, java, pascal, etc.
Un archivo binario, es una secuencia de bytes, que no tienen ninguna traduccin de caracteres
como por ejemplo: fotografas, imgenes, msica, programas ejecutables, etc.
En esta asignatura se abordarn solamente los archivos de texto (una lista organizada de datos
(caracteres) o, como ya se mencion, una estructura de datos dinmica).
Organizacin
Los archivos se encuentran lgicamente organizados como una secuencia de registros, cuya longitud
puede variar dependiendo del tipo.
2
Archivos de registros de longitud fija: Son aquellos que capturan los datos o la informacin
mediante un encabezado y luego se introduce (o almacena) uno a uno los registros ubicados en
posiciones consecutivas dentro del archivo. Todos los registros del archivo tienen los mismos
campos y en el mismo orden.
Archivos de registros de longitud variable: Son aquellos que permiten registros de varios tipos, es
decir que uno o ms campos del registro cambian de longitud (o tipo) y estos (campos) pueden ser
repetidos. La longitud de los registros debe estar definida correctamente para poder leer y escribir de
forma efectiva.
Para manejar los datos que se almacenan en un archivo se tienen dos tipos de enfoques, que ayudan
a la organizacin de los archivos:
1. Enfoque de acceso secuencial: Permite el manejo de archivos en un orden especfico,
registro por registro, es decir secuencialmente: un registro detrs de otro, desde el inicio del
archivo hasta el final, se conocen como archivos secuenciales.
2. Enfoque de acceso directo: Permite el manejo de archivos por registros individuales, sin
leer otros registros del archivo, se conocen como archivos indexados.
Tipos de Acceso
El tipo de acceso a la informacin dentro de un archivo, se refiere al mtodo utilizado para acceder a
los registros de un archivo prescindiendo de su organizacin. Existen varas formas de acceder a los
datos:
Secuencial: permite leer los registros en orden uno por uno desde el principio del archivo hasta el
final, de tal forma que para leer el registro 50, se deben leer los primeros 49 registros.
Directo: permite obtener un registro de forma directa con slo expresar la direccin del registro
dentro del archivo, mediante el nmero relativo del registro. Es decir que basta con indicar qu
nmero de registro se requiere (el 50, por ejemplo).
Por Indice: permite acceder indirectamente a los registros por su clave, realizando consultas
secuenciales a una tabla que contiene la clave del registro y su direccin relativa de cada registro
dentro de un archivo.
Dinmico: permite obtener un registro de un archivo, con cualquiera de los tres mtodos anteriores.
La eleccin del mtodo est directamente relacionada con la estructura de los registros del archivo y
del soporte utilizado. Para esta asignatura, se trabajar con el acceso secuencial.
Clasificacin: Permite la reubicacin de los registros dentro del archivo, de tal forma que
queden ordenados segn determinados criterios.
Borrado: Consiste en eliminar o borrar completamente el archivo, dejando libre el espacio en
el dispositivo que lo contena almacenado.
En C, un archivo es un concepto lgico que puede aplicarse a muchas cosas, desde archivos en
disco hasta terminales o a otros dispositivos como impresoras. Se asocia una secuencia de datos (o
caracteres) con un archivo especfico realizando una operacin de apertura; una vez que el archivo
est abierto, la informacin puede ser intercambiada entre ste (es decir, el archivo) y el programa
que lo manipula.
C, no tiene palabras claves que realicen las operaciones de entrada y salida, siempre utiliza funciones
propias del lenguaje; se puede conseguir la entrada y salida de datos a (de) un archivo haciendo uso
de la biblioteca de funciones: stdio.h
La mayora de funciones inician con la letra f, de la palabra file que significa archivo. A
continuacin, se da un breve inventario de las funciones ms utilizadas en el manejo de archivos. Se
debe incluir la librera <stdio.h>:
Apertura de un archivo:
fopen()
Cerrar un archivo:
fclose()
Lectura de un archivo:
Escritura en un archivo:
feof()
Borrar un archivo:
remove()
Renombrar un archivo:
rename()
ferror()
rewind()
Antes de utilizar un archivo en un programa debe ser declarado, es decir indicar al compilador que se
har uso del archivo; para hacerlo se utiliza la palabra FILE (en maysculas) y el nombre del archivo
que se utilizar.
La declaracin de un archivo, al igual que la declaracin de datos, se hace al inicio del mdulo que
har uso del mismo.
Sintxis:
FILE *archivo;
En donde:
archivo
fopen()
Esta funcin abre un archivo para que pueda ser utilizado, desde un programa, dependiendo de la
operacin que se vaya a realizar con el: slo lectura, slo escritura o ambas cosas.
Sintxis:
fopen(archivo, modo);
4
En donde:
archivo
modo
fclose()
Cierra el archivo cuando ya no se va a utilizar. Escribe en el archivo, la informacin que se encuentra
en el buffer y realiza el cierre formal del archivo. Si el cierre se ejecut correctamente, la funcin
devuelve cero (0).
Sintxis:
fclose(archivo);
En donde:
archivo
fgets()
Esta funcin lee un registro de un archivo abierto, lee una cadena de caracteres hasta que encuentra
el caracter de fin de lnea (\n) o, el nmero mximo de caracteres indicados.
Sintxis:
fgets(cadena, n, archivo);
En donde:
cadena
n
archivo
fputs()
Escribe un registro en un archivo, habilitado para tal accin.
Sintxis:
fputs(cadena, archivo);
En donde:
cadena
es el registro o cadena a escribir en el archivo
archivo
es el nombre del archivo abierto
fprintf()
Escribe (o imprime) datos con formato en el archivo.
Sintxis:
fprintf(archivo formato, variable);
En donde:
archivo
formato
variable
fscanf()
Lee una entrada con formato desde el archivo, hasta encontrar un espacio en blanco.
Sintxis:
fscanf(archivo formato, &variable);
En donde:
archivo
formato
variable
feof()
Verifica si se ha llegado al final del archivo; devuelve cero (0) si se ha alcanzado el fin de archivo.
Sintxis:
feof(archivo);
En donde:
archivo
remove()
Elimina o borra un archivo completo.
Sintxis:
remove(archivo);
El parmetro siempre es el archivo que se quiere eliminar.
rename()
Le cambia nombre a un archivo. La funcin devuelve cero si el cambio de nombre se realiz
correctamente.
Sintxis:
rename(archivo1, archivo2);
En donde:
archivo1
archivo2
fgetc()
Lee un caracter a la vez del archivo que est siendo sealado con el puntero *archivo. En caso de
que la lectura sea exitosa devuelve el caracter ledo y en caso de que no lo sea o de encontrar el final
del archivo devuelve EOF.
Sintxis:
caracter=fgetc(archivo);
En donde:
archivo
caracter
fputc()
Escribe un carcter a la vez del archivo que est siendo sealado con el puntero *archivo. El valor de
retorno es el carcter escrito, si la operacin fue completada con xito, en caso contrario ser EOF.
Sintxis:
fputc (caracter, archivo);
En donde:
archivo
caracter