La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FICHEROS.

Presentaciones similares


Presentación del tema: "FICHEROS."— Transcripción de la presentación:

1 FICHEROS

2 Introducción Mecanismo de almacenamiento permanente
Hardware: disco duro, disquete, cinta, cd-rom, etc. Programador: independiente del dispositivo El sistema operativo: concepto de fichero + librerías Fichero: objeto abstracto sobre el que se puede escribir y leer información

3 Tipos de ficheros Ficheros de texto Ficheros binarios
Almacenamiento usando caracteres ASCII Pueden visualizarse Ficheros binarios Almacenamiento como en memoria: secuencias de bits Ocupan aprox. 3 veces menos Diferentes librerías. Ficheros de texto  stdio.h

4 Puntero FILE FILE *fichero;
Cuando se trabaja con archivos se necesita establecer un área de buffer, donde la información se almacena temporalmente mientras se está transfiriendo entre la memoria de la pc y el archivo de datos. Esto se establece: FILE *fichero;

5 Apertura de un archivo fichero= fopen(“nombre_archivo”, modo);
Modo de apertura “ r ” Abre para lectura “ w ” Abre para crear un archivo (si existe se pierden sus datos). “ a “ Abre para añadir al final. “ r+ “ Abre archivo ya existente para modificar. “ w+ “ Crea un archivo para escribir/leer (si existe se pierden los datos). “ a+” Abre el archivo para modificar al final. Si no existe es como el w+.

6 Comprobar si esta abierto.
Puede producirse fallos al abrir un fichero. if (fichero == NULL) printf (“No se pudo abrir el fichero\n”); else { <<< desarrollo operaciones con el archivo>>> }

7 Fin de archivo - cierre Comprobación fin de archivo.
Función feof() : devuelve distinto de 0 si se llega al final del archivo. Si el valor del carácter es igual a eof while (feof(fichero)==0); o while (!feof(fichero)); o while (letra!= eof); Cerrar un archivo. fclose(fichero);

8 Lectura y escritura de ficheros de texto.
Lectura y escritura de un carácter. letra= getc (fichero); putc(letra,fichero); letra = fgetc (fichero); fputc(letra,fichero); Lectura y escritura de una cadena de caracteres. (n es la cant. de caracteres) fgets(cadena, n, fichero); fputs(cadena, fichero);

9 Ejemplo… Escribir un programa que lea un fichero y le suprima las vocales. #include <stdio.h> #include <conio.h> #include <string.h> void main() { FILE *origen, *destino; char letra; origen=fopen("origen.txt","r"); destino=fopen("destino.txt","w"); if (origen==NULL || destino==NULL) printf( "Problemas con los ficheros.\n" ); } else { letra=getc(origen); while (feof(origen)==0) if (!strchr("AEIOUaeiou",letra)) putc( letra, destino ); if (fclose(origen)!=0) printf( "Problemas al cerrar el fichero origen.txt\n" ); if (fclose(destino)!=0) printf( "Problemas al cerrar el fichero destino.txt\n" ); getch();

10 Creación de un archivo de acceso secuencial.
Lectura (similar al scanf.) fscanf ( fichero,”%d %s %.2f \n”,&cuenta, nombre,&saldo); Escritura ( similar al printf.). fprintf ( fichero, “%d %s %.2f \n”, cuenta, nombre,saldo);

11 Creación de un archivo binario. Acceso aleatorio
Los modos para abrir un archivo binario son los mismos que un archivo de texto, adicionando b. “rb” , “wb”, “ab”, “r+b”, “w+b”, “a+b” función de salida fwrite ()- Escribe lo del buffer en el archivo binario. fwrite( dirección_buffer, tamaño, num_elementos,punt_archivo); Ej: fwrite(&numero, sizeof (numero),1, fichero); Función de entrada fread()- lee del archivo n bloques de bytes y lo almacena en un buffer. fread(dirección_buffer, tamaño, n, punt_archivo); Ej: fread(&cliente, sizeof (struct datos_cl),1,fichero);

12 Recordar… Los archivos binarios están indicados especialmente para guardar estructuras en C. Con la función rewind (fichero) se sitúa el puntero del archivo al inicio de éste. La función fflush(stdin) limpia el buffer. A través de la función fseek() se puede tratar al archivo como un array y situarse en una posición aleatoria.


Descargar ppt "FICHEROS."

Presentaciones similares


Anuncios Google