Entrada y Salida vía Archivos



Documentos relacionados
PROGRAMACIÓN ORIENTADA A OBJETOS

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

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

Entrada y salida de datos en C y C++

ALMACENAMIENTO PERSISTENTE DE DATOS

Uso de archivos en C++

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

Fundamentos de Programación

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

Prof. Dr. Paul Bustamante

7. Manejo de Archivos en C.

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

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

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta.

Programación 1 Tema 16. Trabajo con ficheros: otras posibilidades

Manejo de archivos en C++

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Programación 1 Tema 16. Trabajo con ficheros: otras posibilidades

Programación 1 Desarrollo de proyectos de programación. Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras

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

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

Ejercicio 1 (3 puntos).-

Programación 1 Tema 13. Entrada y salida de datos

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

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Programación 1 Desarrollo de proyectos de programación. Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras

Tema 2: La clase string

Examen escrito de Programación 1

Prof. Dr. Paul Bustamante

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Computación archivos

Sistemas de ficheros en Servidores de Información multimedia

Tema 5 Archivos o Ficheros

Instituto Profesional DuocUC Escuela de Ingeniería Control File

Tema 5 Archivos o Ficheros

SOLUCION EXAMEN junio 2006

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks

LnxComm. Linux Communication. Fernando Pujaico Rivera

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Prof. Dr.Paul Bustamante

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ Febrero 2012

Modulo 1 El lenguaje Java

Asignación Dinámica de Memoria. Agustín J. González Versión original de Kip Irvine ELO 326: Seminario II 2do. Sem. 2001

Clase 4: Un poco más de Python

Procedimientos, Funciones, Trigger y Cursores en ORACLE

LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE)

1. LIBRERÍA DEL USB: MPUSBAPI.DLL

Tema 3: Ficheros en C++

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

ICM Fundamentos de Computación

Trataremos los principales aspectos de las operaciones de E/S en archivos.

Ficheros de acceso aleatorio

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

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Tema 3: Ficheros en C++ Índice. Notas. Programación 2. Curso Notas

Tema 3: Ficheros en C++

Tablas internas 1-12

Programación I: Funciones y módulos

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Plantillas: un mecanismo de polimorfismo

Introducción a visual C++

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 Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C.

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:

Curso PHP Módulo 1 R-Luis

Lenguaje de Programación: Go

Administración de Xisis

VE-Ventanilla Electrónica Especificación Caso de Uso VE-CU-WS-Consumir-Comunicaciones

Taller de Programación I. Tema 04: Arreglos y Matrices en Java

1 ELEMENTOS BASICOS DEL LENGUAJE

Plantillas (Templates) Agustín J. González ELO-329

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

Tipos primitivos y clases de interés

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM

Algunas ideas básicas de C++ Agustín J. González ELO-329

Organización de Computadoras

Práctico 5. Definiciones Inductivas - Segunda Parte -

Prof. Dr. Paul Bustamante

Programación Estructurada

Tutorial BMS Server Studio UDP

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Notación algorítmica (seudocódigo en castellano) (fecha: )

FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0

FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 1ª Convocatoria. 21 de Enero de 2002

Programación Orientada a Objetos en JAVA

Algunas ideas básicas de C++ Agustín J. González ELO-329

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de Certamen Final

Manejo de Excepciones

FUNDAMENTOS DE INFORMATICA

Crear usuario en XP. Redes Paso a Paso. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10. Descripción.

Transcripción:

Entrada y Salida vía Archivos Lectura de un archivo de entrada Escritura en un archivo de salida Agustín J. González ELO329 1

Lectura de archivos de entrada Un archivo de entrada es una secuencia de bytes que es leída desde un archivo de disco la clase ifstream define objetos a partir de archivos de entrada. Esta clase es derivada de la clase istream #include <fstream> Los archivos pueden contener datos binarios o de texto 2

Apertura de un archivo de entrada Dos métodos : Método #1: Pasar el nombre del archivo al constructor de ifstream Este debe ser un arreglo de caracteres, no un objeto string Método #2: Llamar al miembro open() usando un objeto ifstream ya existente Ejemplos... 3

Apertura de un archivo de entrada // method #1: ifstream payfile("payroll.txt"); // method #2: ifstream empfile; empfile.open("employee.txt"); La apertura lleva el puntero interno de al comienzo del archivo. 4

Apertura de un archivo de entrada Mejor estilo: Declarar un string para mantener el nombre del archivo Se debe llamar a c_str() en el string para retornar su arreglo de caracteres. const string PayFilename("payroll.txt"); ifstream payfile( PayFilename.c_str() ); 5

Chequeo de errores La función is_open() de la clase ifstream retorna verdadero cuando un archivo está abierto const string PayFilename("payroll.txt"); ifstream payfile( PayFilename.c_str()); if(!payfile.is_open() ) { cerr << "Cannot open input file: " << PayFilename << endl; return; } 6

Chequeo de errores El objeto ifstream puede ser usado como una expresión booleana, la cual es falsa cuando el archivo está es un estado de falla: ifstream payfile( PayFilename.c_str()); if(!payfile ) { cerr << "Cannot open input file: " << PayFilename << endl; return; } 7

Lectura de un archivo Basta llamar al operador de extracción ( >> ). Éste salta espacios en blanco e ingresa el archivo de entrada en variables: infile >> age >> salary; Llamamos a getline(infile, string) para leer una línea entera : string buffer; getline(infile, buffer); 8

Lectura de archivos Usamos un lazo y llamanos la función miembro eof() para detectar una condición de fin de archivo: while(!infile.eof() ) { infile >> salary; infile.ignore(10,'\n'); getline(infile, buffer); } 9

Cerrado de Archivos Los archivos se cierran automáticamente cuando sus variables pierden su alcance. Una variable pierde su alcance al final de su bloque de definición. void OpenFile() { ifstream payfile(payfilename.c_str()); //... //... } // payfile goes out of scope here 10

Cierre de Archivos Se puede solicitar cerrar un archivo llamando la función close() void OpenFile() { ifstream payfile(payfilename.c_str()); //... payfile.close(); payfile.open( PayFilename.c_str()); //... } 11

Función OpenFile bool OpenFile( const string & filename, ifstrean & infile ) // PURPOSE: Opens an input file stream // RECEIVES: filename - a string // infile - input file stream // RETURNS: true if the file could be // opened, false otherwise. { infile.open( filename.c_str() ); // continued... 12

Funcion OpenFile //... } if(!infile.is_open() ) { cerr << "Cannot open input file: " << filename << endl; return false; } return true; 13

Llamado a OpenFile const string PayFilename("payroll.txt"); ifstream payfile; if(!openfile(payfilename, payfile) ) return; 14

Escritura a un Archivo de Salida 15

Apertura de un Archivo de salida Usamos las clase ofstream para definir objetos para archivos de salida La clase ofstream se deriva de ostream #include <fstream> Se crea un nuevo archivo si no existe ya. Si se abre un archivo para salida, cualquier contenido previo del archivo es borrado, a menos que indicamos lo contrario. 16

Apertura de un archivo de salida Segmento de código con chequeo de errores: const string PayFilename("payroll.txt"); ofstream payfile( PayFilename.c_str()); if(!payfile.is_open() ) { cerr << "Cannot create output file: " << PayFilename << endl; return; } 17

Agregando contenidos a un archivo El parámetro ios::app le indica al constructor de la clase ofstream el deseo de agregar contenido a un archivo: ofstream payfile( "payfile.txt", ios::app ); 18

Escritura a un archivo de salida Usamos el operador de insercion ( << ) para escribir hacia un archivo de salida. Es posible definir formatos para la salida... outfile << employeeid << '\n' << firstname << '\n' << lastname << '\n' << age << " " << yearsofservice << " " << salary << endl; 19

Escritura a un archivo de salida Es posible usar otros tipos de formato: outfile << "Employee ID: " << employeeid << '\n' << "Name: " << firstname << " " << lastname << '\n' << "Age: " << age << '\n' << "Years of Service: " << yearsofservice << '\n' << "Salary: " << salary << endl; 20

Fin 21