LENGUAJE. Tema 8 Ficheros

Documentos relacionados
Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Tema 13: Manejo de archivos en lenguaje C

Tema 3: Entrada/Salida de Ficheros

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados

Fundamentos de Informática 7. Introducción al manejo de archivos

Entrada/Salida. Entrada/Salida. Flujos de texto. Flujos de datos. Flujos binarios. Flujos estándares ANSI

7. Manejo de Archivos en C.

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Archivos. qué es un archivo?

Formatos para prácticas de laboratorio

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.

Tema 5. Entrada y Salida

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES

LENGUAJE. Tema 4 Vectores, Matrices y Cadenas de caracteres.

Repaso 03: Manejo de Archivos en C

Laboratorio de Arquitectura de Redes. Entrada y salida por archivos en lenguaje C

Manipulación de archivos estructurados

Archivos en lenguaje C

LENGUAJE. Tema 5 Estructuras de datos

Instituto Técnico Jesús Obrero 4to año Programación Profesor: Luis Vallenilla

Unidad 7: Procesamiento de archivos en el lenguaje C

Entrada y salida en C. Informática II

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Guía práctica de estudio 12: Lectura y escritura de datos

Programación I Ficheros de texto

Operaciones de E/S en ANSI C

UNAN LEÓN Departamento de Computación. Asignatura: ALGORITMO Y ESTRUCTURA DE DATOS MANEJO DE ARCHIVOS (FICHEROS) EN C

Introducción a la Programación en C Gestión de Ficheros

MIS. Lizbeth Alejandra Hernández González

Programación Estructurada

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

LENGUAJE. Tema 3 Elementos de un programa II

LENGUAJE. Tema 2 Elementos de un programa

Introducción a la programación: Algoritmos

Capítulo 9. Lectura y escritura de ficheros

Entrada/Salida de Archivos

Programación I Ficheros de texto

Lenguaje de Programación: C++ ARCHIVOS I/O

Entrada y Salida de Datos. Lectura de archivos.

EJERCICIOS. Algo de C CADENAS

Manejo de ficheros con PHP

06 Introducción al procesamiento de imágenes BMP con ANSI C

Archivos de datos en C Ficheros

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 3

Procesador de texto Apunte N 4

El alumno podrá : Manejar el acceso a memoria Manejar y manipular Archivos Programar estructuras y apuntadores de forma mas eficiente y avanzada

Informática Ingeniería en Electrónica y Automática Industrial

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B)

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

Tema 07: Tipos de datos en C & entrada y salida estándar

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Programación Básica Apuntadores y Archivos en C

Tema 10: Estructuras de control de entrada y salida

PROGRAMACIÓN EN C. Introducción a C. Estructura de un Programa C

Manejo de Archivos en Lenguaje C++

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

LENGUAJE. Tema 1 - Introducción

Ampliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++

Fundamentos de Programación. Archivos (Ficheros)

Escuela Politécnica Superior de Elche

Contenido. Capítulo 1. Introducción a lenguaje C 1

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

LECTURA Y ESCRITURA (fwrite) DE ARCHIVOS DE TEXTO CON PHP. MODOS DE ACCESO. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00837B)

Lenguaje C, tercer bloque: Funciones

Tema 5 Archivos o Ficheros

PROGRAMACIÓN ORIENTADA A OBJETOS

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

F. Javier Gil Chica 2010

Matías Zabaljáuregui

Lenguajes de programación LPSI EUI UPM CADENAS DE CARACTERES

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Entrada y Salida de Archivos

Tipos de datos y Operadores Básicos

Mapas de Karnaugh. Apunte N 4

1.1. Gramática Léxica

Programación 1 Tema 15. Trabajo con ficheros binarios

Programcaión Básica. Arreglos y Estructuras de Datos (2)

Estructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

Hojas de Cálculo Apunte N 2. Filas Columnas Celdas Hojas Formato de celdas y datos Formato condicional

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Contenidos. Archivos en C++ Archivos en C++ Introducción

Dra. Jessica Andrea Carballido

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Cadenas de caracteres

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Programación. Test Autoevaluación Tema 3

Introducción a Sistemas Operativos: Ficheros

Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

Unidad 3: Gestión de Archivos

CAPÍTULO 5 MANEJO DE ARCHIVOS

S i s t e m a s A n a l ó g i c o s y D i g i t a l e s

Formato para prácticas de laboratorio

El operador contenido ( ) permite acceder al contenido de

Punteros y Memoria Dinámica I

Transcripción:

LENGUAJE Tema 8 Ficheros

FICHEROS EN C Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas en memoria secundaria. El formato de declaración de un fichero es el siguiente: FILE * nom_ var_fich; EnCtodoslosficherosalmacenanbytesyescuandoserealizalaaperturayla escritura cuando se decide cómo y qué se almacena en el mismo; durante la declaración del fichero no se hace ninguna distinción sobre el tipo del mismo. En la operación de apertura se puede decidir si el fichero va a ser de texto o binario, los primeros sirven para almacenar caracteres, los segundos para almacenar cualquier tipo de dato.

APERTURA Y CIERRE DE FICHEROS La instrucción más habitual para abrir un fichero es : FILE * fichero; fichero = fopen ( nombre-fichero, modo); La función fopen devuelve un puntero a un fichero que se asigna a una variable de tipo fichero. Si existe algún tipo de error al realizar la operación, por ejemplo, porque se desee abrir para leerlo y éste no exista, devuelve el valor NULL. El nombre-fichero será una cadena de caracteres que contenga el nombre (y en su caso la ruta de acceso) del fichero tal y como aparece para el sistema operativo. El modo es una cadena de caracteres que indica el tipo del fichero (texto o binario) y el uso que se va ha hacer de él lectura, escritura, añadir datos al final, etc. Cuando se termine el tratamiento del fichero hay que cerrarlo; si la apertura se hizo con fopen el cierre se hará con fclose (nombre-fichero); Para utilizar las instrucciones de manejo de ficheros que veremos en esta unidad es necesario incluir la librería <stdio.h>.

MODOS DE APERTURA Los modos disponibles son: r abre un fichero para lectura. Si el fichero no existe devuelve error. w abreunficheroparaescritura.sielficheronoexistesecrea,sielfichero existe se destruye y se crea uno nuevo. a abre un fichero para añadir datos al final del mismo. Si no existe se crea. + símbolo utilizado para abrir el fichero para lectura y escritura. 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. Los modos anteriores se combinan para conseguir abrir el fichero en el modo adecuado. Por ejemplo, para abrir un fichero binario ya existente para lectura y escritura el modo será "rb+ "; si el fichero no existe, o aun existiendo se desea crear, el modo será " wb+ ". Si deseamos añadir datos al final de un fichero de texto bastará con poner "a", etc.

LECTURA Y ESCRITURA DE FICHEROS Para almacenar datos en un fichero es necesario realizar una operación de escritura, de igual forma que para obtener datos hay que efectuar una operación de lectura. En C existen muchas y variadas operaciones para leer y escribir en un fichero; entre ellas tenemos: fread-fwrite, fgetc-fputc, fgets-fputs, fscanffprintf Es aconsejable utilizarlas por parejas; es decir, si se escribe con fwrite se debe leer con fread.

FREAD - FWRITE Función fread: fread(void *puntero, size_t tamaño, size_t nregistros, FILE *fichero); Esta función está pensada para trabajar con registros de longitud constante. Es capaz de leer desde un fichero uno o varios registros de la misma longitud y a partir de una dirección de memoria determinada. El usuario es responsable de asegurarse de que hay espacio suficiente para contener la información leída. El valor de retorno es el número de registros leídos, noelnúmerodebytes.los parámetros son: un puntero a la zona de memoria donde se almacenarán los datos leídos, el tamaño de cada registro, el número de registros a leer y un puntero a la estructura FILE del fichero del que se hará la lectura. Función fwrite: fwrite(void *puntero, size_t tamaño, size_t nregistros, FILE *fichero); Esta función también está pensada para trabajar con registros de longitud constante y forma pareja con fread. Es capaz de escribir hacia un fichero uno o varios registros de la misma longitud almacenados a partir de una dirección de memoria determinada. El valor de retorno es el número de registros escritos, noelnúmerodebytes.los parámetros son: un puntero a la zona de memoria donde se almacenarán los datos leídos, el tamaño de cada registro, el número de registros a leer y un puntero a la estructura FILE del fichero del que se hará la lectura.

FPRINTF - FSCANF Función fprintf: fprintf(file *fichero, const char *formato,...); La función fprintf funciona igual que printf en cuanto a parámetros, pero la salida se dirige a un fichero en lugar de a la pantalla. Función fscanf: fscanf(file *fichero, const char *formato,...); La función fscanf funciona igual que scanf en cuanto a parámetros, pero la entrada se toma de un fichero en lugar del teclado. Función fflush: fflush(file *fichero); Estafunciónfuerzalasalidadelosdatosacumuladosenelbufferdesalidadel fichero. Para mejorar las prestaciones del manejo de ficheros se utilizan buffers, almacenes temporales de datos en memoria, las operaciones de salida se hacen a través del buffer, y sólo cuando el buffer se llena se realiza la escritura en el disco y se vacía el buffer. En ocasiones nos hace falta vaciar ese buffer de un modo manual, para eso sirve ésta función.

FGETC- FPUTC Función fgetc: fgetc(file *fichero); Esta función lee un carácter desde un fichero. El valor de retorno es el carácter leído como un unsigned char convertido a int. Sino hay ningún carácter disponible, el valor de retorno es EOF. El parámetro es un puntero a una estructura FILE del fichero del que se hará la lectura. Función fputc: fputc(int caracter, FILE *fichero); Esta función escribe un carácter a un fichero. El valor de retorno es el carácter escrito, si la operación fue completada con éxito, en caso contrario será EOF. Los parámetros de entrada son el carácter a escribir, convertido a int y un puntero a una estructura FILE del fichero en el que se hará la escritura.

FGETS - FPUTS Función fgets: fgets(char *cadena, int n, FILE *fichero); Esta función está diseñada para leer cadenas de caracteres. Leerá hasta n-1 caracteres o hasta que lea un retorno de línea. En este último caso, el carácter de retorno de línea también es leído. El parámetro n nos permite limitar la lectura para evitar desbordar el espacio disponible en la cadena. El valor de retorno es un puntero a la cadena leída, si se leyó con éxito, y es NULL si se detecta el final del fichero o si hay un error. Los parámetros son: la cadena a leer, el número de caracteres máximo a leer y un puntero a una estructura FILE del fichero del que se leerá. Función fputs: fputs(const char *cadena, FILE *stream); La función fputs escribe una cadena en un fichero. No se añade el carácter de retorno de línea ni el carácter nulo final. El valor de retorno es un número no negativo o EOF en caso de error. Los parámetros de entrada son la cadena a escribir y un puntero a la estructura FILE del fichero donde se realizará la escritura.

FUNCIONES DE FICHEROS Función feof: feof(file *fichero); Esta función sirve para comprobar si se ha alcanzado el final del fichero. Muy frecuentemente deberemos trabajar con todos los valores almacenados en un archivo de forma secuencial, la forma que suelen tener los bucles para leer todos los datos de un archivo es permanecer leyendo mientras no se detecte el fin de fichero. Esta función suele usarse como prueba para verificar si se ha alcanzado o no ese punto. El valor de retorno es distinto de cero sólo si no se ha alcanzado el fin de fichero. El parámetro es un puntero a la estructura FILE del fichero que queremos verificar. Función rewind: rewind(file *fichero); Es una función heredada de los tiempos de las cintas magnéticas. Literalmente significa "rebobinar", y hace referencia a que para volver al principio de un archivo almacenado en cinta, había que rebobinarla. Eso es lo que hace ésta función, sitúa el cursor de lectura/escritura al principio del archivo. El parámetro es un puntero a la estructura FILE del fichero que queremos rebobinar.

FUNCIONES DE FICHEROS 2 Función fseek: fseek(file *fichero, long int desplazamiento, int origen); Esta función sirve para situar el cursor del fichero para leer o escribir en el lugar deseado. El valor de retorno es cero si la función tuvo éxito, y un valor distinto de cero si hubo algún error. Los parámetros de entrada son: un puntero a una estructura FILE del fichero en el que queremos cambiar el cursor de lectura/escritura, el valor del desplazamiento y el punto de origen desde el que se calculará el desplazamiento. El parámetro origen puede tener tres posibles valores: SEEK_SET el desplazamiento se cuenta desde el principio del fichero. El primer byte del fichero tiene un desplazamiento cero. SEEK_CUR el desplazamiento se cuenta desde la posición actual del cursor. SEEK_END el desplazamiento se cuenta desde el final del fichero. Función ftell: ftell(file *fichero); La función ftell sirve para averiguar la posición actual del cursor de lectura/escritura de un fichero. El valor de retorno será esa posición, o -1 si hay algún error. El parámetro de entrada es un puntero a una estructura FILE del fichero del que queremos leer la posición del cursor de lectura/escritura.

WEBGRAFÍA & LICENCIA: Textos tomados, corregidos y modificados de diferentes páginas de Internet, tutoriales y documentos, entre los que destaco el libro: C/C++ Curso de programación, 2da Ed, Javier Ceballos, Alfaomega Ra-Ma. Este documento se encuentra bajo Licencia Creative Commons 2.5 Argentina (BY-NC-SA), por la cual se permite su exhibición, distribución, copia y posibilita hacer obras derivadas a partir de la misma, siempre y cuando se cite la autoría del Prof. Matías E. García y sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta. Autor: Matías E. García. Prof. & Tec. en Informática Aplicada www.profmatiasgarcia.com.ar info@profmatiasgarcia.com.ar