La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema #10. FICHEROS. Temario: La estructura de datos de archivo. Archivos de texto y archivos binarios Operaciones básicas sobre archivos. Los recursos.

Presentaciones similares


Presentación del tema: "Tema #10. FICHEROS. Temario: La estructura de datos de archivo. Archivos de texto y archivos binarios Operaciones básicas sobre archivos. Los recursos."— Transcripción de la presentación:

1 Tema #10. FICHEROS

2 Temario: La estructura de datos de archivo. Archivos de texto y archivos binarios Operaciones básicas sobre archivos. Los recursos de la biblioteca Standard de C para el tratamiento de archivos.

3 CONCEPTO DE FICHERO Un fichero o archivo es una colección de datos, que se almacenan de forma permanente en la memoria auxiliar. FUNCIONES BASICAS(stdio.h): 1. Crear un fichero. 2. Leer y Escribir en un fichero. 3. Abrir un fichero. 4. Posicionarnos en el fichero y conocer su estado.

4 Modo Operación Lectura (r) Leer, posicionarnos, conocer su estado, otros procesos pueden leer (depende del sistema) Escritura (w) Escribir, posicionarnos, otros procesos no pueden leer (fichero bloqueado) Lectura/Escritura (r/w)Leer, posicionarnos, escribir, el fichero está bloqueado MODOS DE ACCESO

5 DECLARACION DE FICHEROS FILE * nom_ var_fich;

6 FUNCIONES DE MANIPULACION DE FICHEROS APERTURA / CIERRE FILE * fopen (const char *path, const char *mode); int fclose (FILE *stream); EJEMPLO: FILE * fichero; fichero = fopen ( nombre_fichero, modo); fclose (fichero); r Abre un fichero para lectura. Si el fichero no existe devuelve error. r+ Lectura/Ecritura, posicionado al principio del fichero w Abre un fichero para escritura. Si el fichero no existe se crea, si el fichero existe se destruye y se crea uno nuevo. w+ Lectura/Escritura, trunca el fichero a 0 bytes a Abre un fichero para añadir datos al final del mismo. Si no existe se crea. b El fichero es de tipo binario. t El fichero es de tipo texto. Si no se pone ni b ni t el fichero es de texto. MODOS

7 FUNCIONES DE MANIPULACION DE FICHEROS APERTURA / CIERRE EJEMPLOS: FlLE *fich; if ((fich = fopen("nomfich.txt", "r")) == NULL) { /* control del error de apertura * / printf ( " Error en la apertura. Es posible que el fichero no exista \n "); } fclose (fich);

8 FUNCIONES DE MANIPULACION DE FICHEROS Lectura y escritura de caracteres ( fgetc – fputc ) y cadenas ( fgets – fputs ) carácter_leido = fgetc (fichero); fgetc lee un carácter del fichero, el carácter leído se almacenará en carácter leído. Cuando se llega al final del fichero devuelve EOF. fputc (car, fichero); fputc escribe el carácter car en el fichero. Devuelve el carácter escrito o EOF en caso de error. fgets (cadena_leida, num_caracteres, fichero); fputs (cadena_escribir, fichero);

9 Ejemplo: Copiar un fichero de texto en otro. #include int main ( ) { FILE *fin *fout; char c, x; if (((fin = fopen(DATOSIN.txt", rt")) == NULL) || ((fout = fopen(DATOSOUT.txt", wt")) == NULL)) { if (fout ! = NULL) fclose (fout) ; if (fin ! = NULL) fclose (fin) ; printf (Error en la apertura de ficheros de salida \n ); return 1; } c = fgetc(fin); while (c != EOF) { x = fputc (c, fout); if (x! = c) printf ("Error de escritura"); c = fgetc(fin); } fclose (fin); fclose (fout); return 0; }

10 FUNCIONES DE MANIPULACION DE FICHEROS int feof(FILE *stream); Devuelve el estado para el fichero apuntado por el manejador stream. Si se ha llegado al final del fichero devuelve true (1), o false (0) en otro caso. int fseek(FILE *stream, long offset, int whence); Permite cambiar el posicionamiento en un fichero apuntado por stream. Se indica la nueva posición mediante offset, dependiendo de whence. whence (Tipo de posicionamiento) SEEK_SET Relativo al principio del fichero SEEK_CUR Relativo a la posición actual SEEK_END Relativo al final del fichero RECORRIDO DE UN FICHERO SECUENCIAL


Descargar ppt "Tema #10. FICHEROS. Temario: La estructura de datos de archivo. Archivos de texto y archivos binarios Operaciones básicas sobre archivos. Los recursos."

Presentaciones similares


Anuncios Google