Está en la página 1de 1

PROGRAMACIN I

Facultad de Matemtica Aplicada

INGENIERA EN INFORMTICA
Universidad Catlica de Santiago del Estero

ARCHIVOS EN LENGUAJE C
DECLARAR ARCHIVO:
struct estDatos {
int codigo;
char valor[50];
} regDatos;
FILE *arcDatos;

// estructura

// registro
// nombre lgico del archivo

ABRIR ARCHIVO:
arcDatos = fopen("archivo.dat", "r+b"); // nombre fsico del archivo
// este modo permite leer y escribir
if (!arcDatos) arcDatos = fopen("archivo.dat", "w+b");
// si el archivo no existe lo crea
CERRAR ARCHIVO:
fclose(arcDatos);
Las declaraciones para el archivo se realizan una sola vez. La apertura tambin se
realiza una nica vez, al comienzo del programa; de igual manera que el cierre de
los archivos, al finalizar el programa.
INSERTAR REGISTRO:
// primero se cargan los datos en el registro
fseek(arcDatos, 0, SEEK_END); // ubica el cursor al final
fwrite(&regDatos, sizeof(struct estDatos), 1, arcDatos); // escribe
MOSTRAR UN REGISTRO:
// id es el identificador (posicin) del registro a mostrar
fseek(arcDatos, (id-1)*sizeof(struct estDatos), SEEK_SET); // ubica el
cursor
fread(&regDatos, sizeof(struct estDatos), 1, arcDatos); // lee
// ahora pueden imprimirse los datos contenidos en el registro
MOSTRAR TODOS LOS REGISTROS:
rewind(arcDatos); // ubica el cursor al comienzo del archivo
// leo el archivo mientras la operacin sea exitosa
while(fread(&regDatos, sizeof(struct estDatos), 1, arcDatos)) {
// aqu puedo imprimir los datos de cada registro
}
MODIFICAR REGISTRO:
// id es el identificador (posicin) del registro a modificar
fseek(arcDatos, (id-1)*sizeof(struct estDatos), SEEK_SET);
fread(&regDatos, sizeof(struct estDatos), 1, arcDatos);
// as cargo el registro con los datos originales
// ahora puedo modificar los datos que desee en el registro
fseek(arcDatos, (id-1)*sizeof(struct estDatos), SEEK_SET);
// vuelve a ubicar el cursor
fwrite(&regDatos, sizeof(struct estDatos), 1, arcDatos);
// guarda los datos con sus modificaciones
SEEK_SET, SEEK_CUR y SEEK_END son constantes del lenguaje, cuyos valores
significan que el cursor de fichero se ubicar, de forma relativa, desde el principio
del archivo, desde la posicin actual, o desde el final del archivo, respectivamente.

Ing. Lilia Palomo de Roldn

Ing. Juan Marcos Mulki Aguilera

También podría gustarte