La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación, Algoritmos y Estructuras de Datos

Presentaciones similares


Presentación del tema: "Programación, Algoritmos y Estructuras de Datos"— Transcripción de la presentación:

1 Programación, Algoritmos y Estructuras de Datos
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. Archivos o ficheros Rev /5/2011 by JM

2 Byte 1 Byte 2 Byte 3 .…......... Byte n [EOF]
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. DEFINICION Un archivo o fichero es una cadena de bytes consecutivos terminada por una carácter especial llamado EOF (End Of File ), y nos servirá para el almacenamiento permanente de grandes cantidades de datos. Byte 1 Byte 2 Byte 3 .… Byte n [EOF] Rev /5/2011 by JM

3 Programación, Algoritmos y Estructuras de Datos
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. TIPOS DE ARCHIVOS Texto: Conformados por caracteres ASCII. Legibles y modificables mediante editores de texto. Legibles por el usuario Portables Ocupan mucho espacio Binarios: Guardan la copia exacta de la memoria del ordenador. Sólo legibles por programas que conozca que tipos de datos se guardan y en que forma. Eficientes (Menos espacio que archivos texto) Ideales para el manejo de estructuras compuestas No portables. Dependen de la plataforma. Rev /5/2011 by JM

4 OPERACIONES CON ARCHIVOS
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. OPERACIONES CON ARCHIVOS PASO 1 Para operar con archivos es necesario declarar al inicio del programa una variable puntero especial de tipo FILE cuyo nombre es asignado por el usuario y servirá para hacer referencia al archivo durante todo el programa. Ej: #include<stdio.h> FILE *parch; -> puntero que hace referencia al archivo PASO 2 Luego de definir un puntero tipo FILE debemos abrir el archivo. Para esto debemos utilizar la función: FILE *fopen (char * nombre_completo_archivo, char *modo); Rev /5/2011 by JM

5 Programación, Algoritmos y Estructuras de Datos
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. El nombre de un archivo esta compuesto por: ruta completa + nombre.extensión Ej: c:\Programas\Listado.txt El modo de apertura puede ser: La función devuelve el puntero al inicio del archivo si hubo éxito en la apertura del mismo o bien NULL si hubo algún error.    Modo de Apertura Significado "a" Abre el fichero para añadir datos al final del fichero. Si el fichero no existe, se crea. "r" Abre el fichero para lectura. El fichero debe existir. "w" Abre el fichero para escritura. Los datos se escriben desde el principio. Si el fichero no existe, se crea. "a+" Abre el fichero para lectura y para añadir datos al final del mismo. Si el fichero no existe, se crea. "r+" Abre el fichero para lectura y escritura. Los datos se escriben desde el principio y el fichero debe existir. "w+" Abre el fichero para lectura y escritura. Los datos se escriben desde el principio y si el fichero no existe se crea. Rev /5/2011 by JM

6 Programación, Algoritmos y Estructuras de Datos
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. Finalmente siempre que trabajemos con archivos debemos cerrarlos utilizando la función: int fclose(FILE *puntero_al_archivo); Retorna: 0 – Si se cerró el archivo con éxito 1 – Si ocurrió un error al cerrar el archivo Rev /5/2011 by JM

7 FUNCIONES PARA TRATAMIENTO DE ARCHIVOS
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. FUNCIONES PARA TRATAMIENTO DE ARCHIVOS Funciones de Lectura y Escritura Secuencial (Archivos con formato) int fgetc(FILE *puntero_a_archivo); int fputc(int car, FILE * puntero_a_archivo); char * fgets(char *cadena, int tam_cad, FILE *puntero_a_archivo); int fputs(const char *cadena, FILE *puntero_a_archivo); int fprintf(FILE *puntero_a_archivo, “texto + modificadores”, variables); int fscanf(FILE *puntero_a_archivo, “modificadores”, dir. variables); Rev /5/2011 by JM

8 FUNCIONES PARA TRATAMIENTO DE ARCHIVOS Ejemplo Archivos de Texto
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. FUNCIONES PARA TRATAMIENTO DE ARCHIVOS Ejemplo Archivos de Texto #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(void) { FILE *punt; char c; punt=fopen("datos.txt","w"); if (punt==NULL) { printf("\n Error – NO SE PUEDE ABRIR EL FICHERO"); return(1);} do { c = toupper(getchar()); putc(c, punt); } while (c != '\n'); if (fclose(punt) != 0) { printf("Error al cerrar el fichero"); return(1); } else printf("!!!Exito!!!"); } Rev /5/2011 by JM

9 FUNCIONES PARA TRATAMIENTO DE ARCHIVOS
Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. FUNCIONES PARA TRATAMIENTO DE ARCHIVOS Funciones de Lectura y Escritura en Bloque (Archivos sin formato) size_t fwrite(void *estructura, size_t tam, size_t numero, FILE *archivo); size_t fread (void *estructura, size_t tam, size_t numero, FILE *archivo); size_t fseek(FILE *archivo, long posicion, int origen); int ftell (FILE *archivo); Rev /5/2011 by JM


Descargar ppt "Programación, Algoritmos y Estructuras de Datos"

Presentaciones similares


Anuncios Google