Entrada/Salida de Archivos

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

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

Formatos para prácticas de laboratorio

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

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

Programación Estructurada

7. Manejo de Archivos en C.

Programación I Ficheros de texto

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

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

Programación. Test Autoevaluación Tema 3

Computación archivos

Entrada y Salida de Datos. Lectura de archivos.

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

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

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

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

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

Repaso 03: Manejo de Archivos en C

INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA

Clase 4: Un poco más de Python

Estructura de Datos: Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

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

Unidad 7: Procesamiento de archivos en el lenguaje C

Representación de la información

OPENOFFICE IMPRESS. Creación básica de presentaciones digitales

Tema 3: Ficheros en C++

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );

Tema 8: Tratamiento de datos. Ficheros

Matías Zabaljáuregui

Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

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

Protección de un documento Excel CEC-EPN

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

Herramientas computacionales para la matemática MATLAB: Scripts

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

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Prof. Dr. Paul Bustamante

SESIÓN DE EJERCICIOS E4

Seguridad. Contenido TECNOLOGÍA WORD

Tema 14: Arreglos estáticos en C

Universidad Francisco Gavidia

Manejo de Archivos en Lenguaje C++

Tramita tu Sello Digital

Entrada y salida de datos en C y C++

Documento en blanco, el cual permite al seleccionarlo y pulsando el botón

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

GENERALIDADES DEL LENGUAJE C

Laboratorio de Diseño de Robots Móviles Practica No. 2 Sistema mínimo del microcontrolador PIC16F877

MANUAL APLICACIÓN PLANES PROVINCIALES

Prof. Dr. Paul Bustamante

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

Word Básico Word Básico

ARCHIVOS de TEXTO en PASCAL

CARACTERES PRESENTES EN LA FUENTE "FENICIO" Diseño: Juan-José Marcos. Plasencia. Cáceres. 2011

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

Elementos de un programa en C

Tema: Introducción al IDE de Microsoft Visual C#.

Menú de Arranque en Windows VISTA

IIC1103 Introducción a la Programación. Ayudantía: Archivos

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura.

Entrada y salida de datos. Informática aplicada al medio ambiente curso 2010/2011

CLASE No. 4 MANEJO DE DOCUMENTOS

Algoritmos y Programación Clase 7

Programación en Visual Basic Ricardo Rodríguez García

Clase 3: Archivos (texto, csv, dbf, Excel)

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

Práctica: 7-zip. Actualmente hay múltiples compresores, los más conocidos son Winzip y Winrar.

Cómo manejar el editor HTML de Moodle?

Todas las tareas que se realizan en un computador implican el uso de archivos y carpetas.

MANUAL DE USUARIO LION FILE PROTECTOR 2015

INICIACIÓN A LA PROGRAMACIÓN EN C

Ordenador local + Servidor Remoto

Tema 2: La clase string

Los sistemas de explotación WINDOWS y MS-DOS

EBRARY. Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas.

Mi primer proyecto en Dev-C++

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0 MI PRIMER PROYECTO

MANUAL PARA COMBINAR CARTAS POR CORRESPONDENCIA

Escribir. Qué es Escribir? Abriendo Escribir

Entrada y Salida vía Archivos

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

HERRAMIENTAS BASICAS DE MANEJO DE WINDOWS

NIVELES DE AUTORIZACIÓN

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

Estructura de Datos: Archivos. Programacion I Mgter. Vallejos, Oscar A.

Uso de archivos en C++

Introducción al lenguaje C

bla bla Guard Guía del usuario

Programación En Lenguaje C

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

Transcripción:

Entrada/Salida de Archivos Herman Schinca Clase 10 29 de Abril de 2011

Para qué? Guardar datos y no tener que volver a correr el programa (para esa entrada) Se necesita leer los datos con otro programa (MatLab por ejemplo) Debo leer datos almacenados en un archivo

Estructura Básica (incluyo <stdio.h>) Abro Archivo /* Trabajo con el Archivo */ Cierro Archivo

Pero... Qué es un archivo? Un conjunto de bytes guardados en disco (u otros dispositivos) que tiene nombre y ruta de acceso. En C los representamos con el tipo FILE. Trabajamos con un puntero a FILE.

Abriendo el archivo FILE* miarchivo; miarchivo = fopen(dirección,modo);

Dirección Indica la ruta en donde está guardado el archivo. Si está en la misma carpeta que mi código, el nombre del archivo. Sino, ruta completa (no siempre...).

Ni Modo r - Abre archivo como Sólo lectura. El archivo debe existir. w - Crea un archivo para escritura (ojo con el nombre!). a - Escribe a partir del final del archivo.

Ni Modo r+ - Abre archivo como Lectura+Escritura. w+ - Crea un archivo para Lectura+Escritura. a+ - Escribe a partir del final del archivo aunque puede leer todo el archivo.

Cerrando el archivo fclose (miarchivo);

Ejemplo FILE* miarchivo; miarchivo = fopen("archivo1.txt", "w+"); fclose(miarchivo);

Error al abrir archivo Porque......no existe....lo está usando otro programa que no admite concurrencia ( QUÉ?)....está protegido (por permisos, contraseña, etc.).

Error al abrir archivo Debo chequear su correcta apertura: If(!miArchivo){ //Exploto } else{ //Me porto bien }

Escribiendo el archivo fputc(unchar, miarchivo); Se escribe unchar en el archivo y se incrementa en 1 el puntero al archivo.

MiniEjercicio Crear un archivo llamado EstoNoEsUnArchivo con extensión.txt y escribir el abecedario en mayúscula separando cada letra por una coma, es decir: A,B,C,...,X,Y,Z

Posible Solución FILE* miarchivo; miarchivo = fopen("minombre.txt", "w"); char c; for(c = 'A'; c < 'Z'; c++){ fputc(c, miarchivo); fputc(',', miarchivo); } fputc(c, miarchivo); fclose(miarchivo);

Escribiendo el archivo fputs( Un string con lo que quiera, miarchivo); El '\0' que indica el final del string no se copia. El puntero al archivo se incrementa en la longitud del string - 1.

Leyendo el archivo char c; c = fgetc(miarchivo); Se lee un char del archivo, se lo retorna y se incrementa en 1 el puntero al archivo.

Leyendo el archivo Cómo sé si llegué al final del archivo? Carácter especial llamado EOF (sin comillas simples) nos dice que alcanzamos el final del archivo.

MiniEjercicio Abrir EstoNoEsUnArchivo.txt, contar cuántas comas tiene e imprimir ese valor por pantalla. (Ojo con el modo en que lo abren...) (Debería dar 25 :-P)

Posible Solución miarchivo = fopen("minombre.txt", "r"); char c = '1'; int cantcomas = 0; while(c!= EOF){ //ó!feof(miarchivo) c = fgetc(miarchivo); if (c == ',') cantcomas++; } printf("%d", cantcomas); fclose(miarchivo);

Leyendo el archivo fgets(mistring, N, miarchivo); Lee N-1 caracteres de miarchivo o hasta que encuentre un '\n' o un EOF (lo que ocurra primero), los guarda en mistring y le pone un '\0'. Si lee un '\n' también lo guarda en mistring.

Leer y escribir con formato fscanf(miarchivo, formato, param1,...,paramn); fprintf(miarchivo, formato, param1,...,paramn);

Ejemplo char nombre[31] = "Filisberto Aristóbulo Brendarj"; int edad = 75; float altura = 1.01; fprintf(miarchivo, "Nombre: %s\nedad: %d\naltura: %f", nombre, edad, altura);

Qué formato uso? Y si queremos leer los datos del ejemplo anterior, cómo harían? Elegimos el mejor formato? En función de qué? Hay otros? Infinitos? Cómo lo demostraría?

Formato útil para Arreglos cantidaddeelementos elemento1 elemento2 elementon (donde N=cantidadDeElementos)

En código int arr[11] = {0,2,4,6,8,10,11,13,15,17,19}; fprintf(miarchivo, "%d\n",11); int i; for(i=0;i<11;i++){ fprintf(miarchivo, "%d ",arr[i]); }

Formato útil para muchos Arreglos CantidadDeArreglos tamarreglo1 elemento1 elemento2 elementon tamarreglo2 elemento1 elemento2 elementom tamarreglok elemento1 elemento2 elementop

Formato útil para Matrices cantidaddefilas cantidaddecolumnas elemento11 elemento12 elemento1m elemento21 elemento22 elemento2m elementon1 elementon2 elementonm (donde N=cantidadDeFilas y M=cantidadDeColumnas)

Anticipo Memoria Dinámica Pero, cómo hacemos para cargar un arreglo o una matriz cuya dimensión no conocemos desde un archivo? Necesitamos usar Memoria Dinámica! No se lo pierda, próximamente en IC 2011!

Rebobinando un poco... Para volver al inicio del archivo, es decir, posicionar miarchivo nuevamente al comienzo: rewind(miarchivo)

Me paro donde quiero fseek(miarchivo, N, origin) Donde N es la cantidad de bytes que me quiero mover y origin indica desde donde sumo N. Origin puede ser: SEEK_SET: desde el principio. SEEK_CUR: desde donde estoy. SEEK_END: desde el final del archivo.

Ejemplo fputs("esta frase no tiene sentido.", miarchivo); fseek(miarchivo,11,seek_set); fputs("sí",miarchivo);

Referencias Para C: http://www.cplusplus.com/reference/clibrary/cstdio/ Para el que quiera mirar en Python: http://docs.python.org/tutorial/inputoutput.html#rea ding-and-writing-files

Eso es todo Preguntirijillas???