Archivos o ficheros

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

description

Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. Archivos o ficheros. Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. Tema: Archivos. DEFINICION. - PowerPoint PPT Presentation

Transcript of Archivos o ficheros

Page 1: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 1

Archivos o ficheros

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

Page 2: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 2

DEFINICION

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

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]

Page 3: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 3

TIPOS DE ARCHIVOS

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: 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.

Page 4: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 4

OPERACIONES CON ARCHIVOS

PASO 1Para 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 2Luego 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);

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

Page 5: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 5

El nombre de un archivo esta compuesto por: ruta completa + nombre.extensiónEj: c:\Programas\Listado.txtEl 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.

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

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.

Page 6: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 6

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

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

Page 7: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 7

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);

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

Page 8: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 8

FUNCIONES PARA TRATAMIENTO DE ARCHIVOSEjemplo 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!!!");}

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.

Page 9: Archivos o ficheros

Rev 1.1 - 25/5/2011 by JM 9

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);

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

Tema: Archivos.