BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 25 Procesamiento de archivos
Teoría: Archivos de acceso directo

Los registros individuales de un archivo de acceso directo normalmente son de longitus fija y se puede tener acceso a ellos directamente (y por lo tanto rápidamente) sin tener que buscar a través de otros registros. Esto hace que los archivos de acceso directo sean apropiados para sistemas que requieren de acceso rápido a datos específicos. Centraremos nuestro análisis a un enfoque sencillo de utilización de registros de longitud fija.

Los datos pueden ser insertos en un archivo de acceso directo sin destruir otros datos en el archivo. Loas datos almacenados anteriormente tambié pueden ser actualizados o borrados, sin tener que reescribir todo el archivo

La función fwrite transfiere a un archivo un número especificado de bytes empezando en un posición especificada de memoria.

La función fread transfiere un número especificado de bytes de la posición en el archivo, especificado por el apuntador de posición de archivo, a un área de memoria empezando a partir de una dirección especificada. Ahora al escribir un entero, en vez de utilizar la función fprintf,

fprintf(fPtr, "%d", number);

con la que podría imprimir desde un dígito hasta un máximo de 11 dígitos, podemos utilizar fwrite que siempre escribira 4 bytes de la variable number al archivo representado por fPtr.

fwrite (&number, sizeof(int), 1, fPtr);

Se utiliza un combinación de las funciones fseek y fwrite para almacenar datos en posiciones específicas dentro de un archivo de aceso directo. Así, la función fseek define un apuntador de posición de archivo a una posición específica dentro del archivo y, a continuación fwrite escribe los datos.

El ANSI muestra la función prototipo para fseek como:

int fseek (FILE *stream, long int offset, int whence);

Aunque fread y fwrite leen y escriben datos en tamaño fijo en vez de en formato de tamaño variable, los datos que manejan se procesan en formato de computadora, en bytes de datos, en vez de en formato legible como lo hace printf y scanf.