Entrada/Salida en C++

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Entrada/Salida en C++"

Transcripción

1 Flujos en C++ (Streams) Entrada/Salida en C++ Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Hasta aquí, hemos usado cin y cout para leer desde teclado y escribir a consola C++ no incluye comandos de entrada/salida en el lenguaje Definidos en bibliotecas de E/S Objetivo: tratar todas las fuentes de datos (teclado, archivos, redes) de la misma forma: como flujos de bytes de largo indefinido Clases de entrada/salida Biblioteca de entrada/salida de C++ define una jerarquía de clases Flujos y buffers Escribir a pantalla o a archivos es lento Sistema mantiene buffers en memoria para acoplar velocidades Datos se reciben del teclado a un buffer, donde quedan disponibles hasta que el programa los necesita Datos se escriben en un buffer en vez de escribir directamente en un archivo Buffer se escribe al archivo cuando está lleno Flujos y buffers Clase abstracta streambuf No todos los flujos utilizan buffers En algunos casos, se escriben los datos directamente al destino sin pasar por el buffer intermedio Ejemplo: cout y clog usan buffers, cerr no usa buffers La clase base abstracta streambuf maneja el buffer Sus funciones miembro permiten leer, escribir, sincronizar, vaciar y escribir a memoria los flujos Funciones no se invocan directamente Clases derivadas son stringbuf y filebuf 2015 Mario Medina C. 1

2 Clases de entrada/salida Estado de un flujo La clase ios es la clase base para los flujos de entrada y salida Define todas las funciones comunes a flujos de entrada y de salida Contiene un objeto streambuf Métodos manipuladores de formato Maneja los bits de estado del flujo eofbit, badbit, failbit, goodbit goodbit indica que todo está OK failbit es 1 si una operación no se procesó correctamente pero el flujo está OK badbit es 1 si el flujo está corrupto o si se han perdido datos eofbit es 1 si se detectó el fin de flujo Generalmente se activa con failbit Clase de entrada istream Clase de salida ostream Clase istream representa objetos usados para leer secuencias de caracteres Datos con formato son accedidos usando el operador istream::operator>> double a, b, c; cin >> a >> b >> c; Datos sin formato son accedidos a través de otras operaciones get(), getline(), read() Clase ostream representa objetos usados para escribir secuencias de caracteres Datos con formato son accedidos usando el operador istream::operator<< double a, b, c; cout << a << b << c; Datos sin formato son accedidos a través de otras operaciones put(), write() Clases generales de entrada/salida Clase de entrada/salida iostream Clases generales de entrada/salida <iostream>: entrada/salida estándar <fstream>: entrada/salida de archivos <sstream>: entrada/salida hacia/desde strings Clase para manipulación de flujos <iomanip>: manipulación de flujos Clase iostream deriva métodos de istream y de ostream Define 4 flujos estándar cin: entrada estándar de teclado cout: salida estándar a consola cerr: salida estándar de error clog: salida estándar de bitácora Estos flujos pueden ser manipulados por operadores >>, << o por otras funciones 2015 Mario Medina C. 2

3 Función istream::get() (I) int get() lee el siguiente caracter desde un flujo de entrada y lo retorna Retorna el siguiente caracter en el flujo, o retorna EOF char c = cin.get(); Función istream::get() (II) iostream& get(char& c) lee un caracter desde un flujo de entrada y lo almacena en el caracter c Retorna el flujo de entrada, por lo que puede ser usado en concatenaciones cin.get(a).get(b).get(c); cin.get(a) >> b >> c; Función istream::get() (II) iostream& get(char* p, int n, char delim) lee n - 1 caracteres desde un flujo de entrada y los almacena a partir del puntero p dado, retornando el flujo de entrada Función almacena caracter NULL en el último byte del área destino Lectura se detiene al llegar al delimitador Si se omite delimitador, asume \n Delimitador queda en flujo de entrada Función istream::getline() iostream& getline(char* p, int n, char delim) lee n - 1 caracteres desde un flujo de entrada y los almacena a partir del puntero p dado, retornando el flujo de entrada Función almacena caracter NULL en el último byte del área destino Lectura se detiene al llegar al delimitador Si se omite delimitador, asume \n Caracter delimitador es removido del flujo Función istream::read() Función istream& read(char *p, n) lee n bytes desde el flujo de entrada, y los almacena a partir del puntero p dado Retorna el flujo de entrada Termina anticipadamente al encontrar EOF En ese caso, se activa failbit y eofbit gcount() retorna número de caracteres leídos Función istream::readsome() streamsize readsome(char *p, n) lee n bytes desde el flujo de entrada, y los almacena a partir del puntero p dado Lee todos los bytes disponibles en el buffer Retorna el número de caracteres leídos No termina anticipadamente con EOF gcount() retorna número de caracteres leídos 2015 Mario Medina C. 3

4 Función istream::ignore() iostream& ignore(int n, char delim) lee n caracteres desde un flujo de entrada y los ignora Lectura se detiene si encuentra delim Delimitador es removido del flujo de entrada Si éste se omite, el delimitador por omisión es EOF Retorna el flujo de entrada istream::ignore() ignora un caracter Función istream::gcount() Función gcount() retorna el número de caracteres extraídos del flujo por la operación de lectura anterior Aplicable a funciones : get(), getline(), ignore(), peek(), read(), readsome(), putback() y unget() En los casos de unget() y putback(), gcount() siempre retorna 0 Función istream::peek() int peek() lee el siguiente caracter desde el flujo de entrada, y luego lo retorna al flujo int a = cin.peek(); En caso de error, retorna EOF Siguiente caracter queda entonces disponible en el flujo para la siguiente lectura Función istream::unget() istream& unget() devuelve el último caracter leído al flujo de entrada, y decrementa el puntero de lectura get pointer en 1 Función retorna el flujo de entrada Llamada posterior a gcount() retorna 0 Función istream::putback() istream& putback(char c) retorna caracter c al flujo, y decrementa el puntero de lectura en el flujo get pointer en 1 cin.putback(c); La función retorna el flujo de entrada Similar a unget(), pero es posible definir el caracter a retornar al flujo Si c no fue el último carácter extraído, se activa badbit Función istream::sync() Fuerza el vaciado de los buffers del flujo de entrada, sincronizando su contenido Aplicable a flujos istream Caracteres aún no leídos en el flujo de entrada son descartados 2015 Mario Medina C. 4

5 Función ostream::put() Función ostream::write() La función ostream& put(char c) escribe el caracter c en el flujo de salida Aplicable a flujos de salida ostream Incrementa el put pointer en 1 Retorna el flujo de salida El estado del flujo indica si la operación fue exitosa Función ostream& write(char *p, n) escribe n bytes a partir del puntero p dado en el flujo de salida Retorna el flujo de salida El estado del flujo indica si la operación fue exitosa Función ostream::flush() Función ostream& flush() fuerza la escritura de los buffers del flujo, sincronizando su contenido Aplicable a flujos ostream Función retorna el flujo de salida Fin de línea endl también fuerza un flush de los buffers Funciones de estado Para determinar estado del flujo bad() es true si hubo falla en operación de lectura ó escritura fail() es true si hubo falla en lectura ó escritura, u error de otro tipo Ejemplo: conversión de formatos eof() es true si se llegó al fin del flujo good() es true si todas las funciones anteriores son false clear() limpia el estado del flujo Punteros a flujos Objetos de la biblioteca mantienen punteros a flujos para lectura y/o escritura Clase istream incluye el get pointer, que apunta a la próxima posición a leer Clase ostream incluye el put pointer, que apunta a la próxima posición donde escribir Clase iostream incluye ambos punteros Posiciones están dadas en caracteres Lectura de punteros a flujos Funciones tellg() y tellp() retornan un entero representando la posición absoluta de get pointer y put pointer, respectivamente Posición está dada en caracteres Falla es indicada por resultado -1 Función retorna el flujo asociado tellg() pertenece a clase istream tellp() pertenece a clase ostream 2015 Mario Medina C. 5

6 Movimiento de punteros Movimiento de punteros Funciones seekg() y seekp() definen nuevas posiciones del get pointer y put pointer istream& seekg(offset, pos) Posición pos está dada en caracteres No todos los flujos admiten funciones seekg() y seekp() No son válidas para flujos estándares cin, cout y cerr Posición puede ser relativa al comienzo del flujo o relativa a otra posición seekg(offset, pos), donde offset es ios::beg: comienzo del flujo ios::end: final del flujo ios::cur:posición actual del flujo Comportamiento ante accesos fuera del flujo no está definido Movimiento de punteros Manejo de archivos #include <fstream>... ifstream if( archivo.txt, istream::binary); if (is) { is.seekg(0, is.end); int largo = is.tellg(); // Calcula el largo is.seekg(0, is.beg); char *buffer = new char[largo]; is.read(buffer, largo); // Lee todo el archivo if (is) cout << Se leyeron << is.gcount() << bytes << endl; is.close() } Hay 3 clases para manipular archivos ifstream: usada para leer desde un archivo ofstream: usada para escribir a un archivo fstream: usada para leer y escribir a un archivo Archivos pueden ser abiertos en modo texto o modo binario Modo texto: interpreta caracteres especiales Modo binario: no hay caracteres especiales Manejo de archivos: open() y close() fstream f; f.open(nombre, modo) nombre es el nombre del archivo como un string de C modo indica el modo de operación con el archivo Flujo se cierra con f.close() Flujo también se cierra al destruir el objeto Modos de open() Modos de open() ios::in: abrir para entrada de datos ios::out: abrir para salida de datos ios::binary: abrir en modo binario ios::ate: abrir con posición inicial al final del archivo (at end) ios::app: abrir para agregar datos (append). Se usa en conjunto con ios::out ios::trunc: abrir con posición inicial el comienzo del archivo, y se borra su contenido 2015 Mario Medina C. 6

7 Modos por omisión Creación y apertura de archivos Modos se deducen del tipo de archivo ifstream arch1( entrada.txt ); Se agrega modo ios::in automáticamente ofstream arch2( salida.txt ); Se agrega ios::out automáticamente fstream arch3( datos.txt ); Se agregan modos ios::in y ios::out automáticamente Constructor por omisión de flujos de archivos también abren el flujo ofstream arch1; arch1.open( datos.txt", ios::out ios::app ios::binary); Equivale a ofstream arch1( datos.txt", ios::out ios::app ios::binary); Nótese cómo combinar modos usando Archivos binarios Manipuladores de entrada/salida No se reconocen caracteres especiales No se consideran delimitadores, espacios, ó saltos de línea Acceso mediante read() y write() char buffer[1000]; f.read(buffer, 1000); f.write(buffer, 1000); Objetos especiales para manipular flujos Usados con operadores << y >> Manipuladores de salida (clase ostream) endl: escribe \n y sincroniza buffer de salida ends: escribe \0 en el buffer de salida flush: escribe el buffer de salida a su destino Manipuladores de entrada (clase istream) ws: lee y descarta espacios en blanco Muchos flujos tienen esta opción activada por omisión Definidos en <iomanip> setbase: define la base de los números a desplegar. Puede ser 8, 10 ó 16 cout << setbase(16) << 100 << endl; oct, dec, hex: definen la base a usar cout << hex << 100 << endl; setw: Define el ancho del próximo campo cout << setw(7) << 100 << endl; setprecision: define la precisión decimal del siguiente número cout << setprecision(7) << ; setfill: define el caracter a usar como relleno en un número cout << setw(7) << setfill( a ) << 433; Tiene como salida aaaa Mario Medina C. 7

8 Definidos en ios boolalpha/noboolalpha: Imprime true o false para valores booleanos. showpos/noshowpos: Controla impresión de signo + para los números positivos uppercase/nouppercase: Usa mayúsculas en números de punto flotante showpoint/noshowpoint: Siempre imprime el punto en números de punto flotante Definidos en ios showbase/noshowbase: Siempre imprime la base de un número skipws/noskipws: Ignora los espacios en blanco al leer del flujo unitbuf/nounitbuf: Siempre sincroniza el flujo después de cada operación inserción en éste fixed/scientific: tipo de notación a usar en el flujo Definidos en ios left: alinea número a la izquierda en el campo de largo dado por setw y rellena el campo con el caracter dado por setfill right: alinea número a la derecha en el campo de largo dado por setw y rellena el campo con el caracter dado por setfill internal: alinea número en el campo de acuerdo a un valor interno, y rellena el campo con el caracter dado por setfill Definidos en iomanip setiosflags: activa los flags de formato del flujo de acuerdo a una máscara resetiosflags: desactiva los flags de formato del flujo de acuerdo a una máscara cout << hex << setiosflags(ios_base::showbase ios_base::uppercase) << 100 << endl; Imprime 0X64 Funciones de formato Todo lo que se hace con manipuladores de flujo puede realizarse con funciones de manejo de formato Definidas en ios_base Ejemplo: cout << showbase; Equivale a cout.setf(ios::showbase); Funciones de formato flags(): retorna un entero indicando los flags de formato flags(newflags): asigna un nuevo valor a los flags de formato, y retorna un entero conteniendo los flags de formato antiguos setf(newflag): asigna un nuevo valor a los flags de formato, y retorna un entero conteniendo los flags de formato antiguos unsetf(newflag): limpia los flags de formato especificados 2015 Mario Medina C. 8

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

Ampliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++ Ampliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++ ENTRADA/SALIDA EN C++ Principales características Jerarquía de clases de E/S Aspectos generales

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Operaciones con ficheros en Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba

Más detalles

<<Streams>> y Strings. en C++

<<Streams>> y Strings. en C++ Dr. Florentino Fernández Riverola ESTRUCTURAS DE DATOS Y C/C++ y Strings Escuela Superior de Ingeniería Informática Departamento de Informática Universidad de Vigo riverola@uvigo.es en C++

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Qué es un archivo? Conjunto de información agrupada bajo un nombre y almacenada en disco

Más detalles

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

Trataremos los principales aspectos de las operaciones de E/S en archivos. Entrada/Salida de archivos Trataremos los principales aspectos de las operaciones de E/S en archivos. Operaciones de escritura en archivos El archivo de cabecera fstream.h define las clases ifstream, ostream

Más detalles

Entrada y salida de datos en C y C++

Entrada y salida de datos en C y C++ Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida

Más detalles

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

Programación 1 Tema 13. Entrada y salida de datos Programación 1 Tema 13 Entrada y salida de datos Objetivos Interacción de un programa con su entorno (consola, sistema de ficheros) leyendo o escribiendo datos Fichero como secuencia persistente de datos

Más detalles

Formato de salida con la instrucción cout Por Fabian Gentile

Formato de salida con la instrucción cout Por Fabian Gentile Formato de salida con la instrucción cout Por Fabian Gentile Un medio de formatear la salida es usar manipuladores, que son funciones especiales que sirven para cambiar la apariencia de una operación de

Más detalles

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

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Entrada y Salida en C++

Entrada y Salida en C++ Estructura de Datos y Algoritmos Entrada y Salida en C++ 1. Introducción Las bibliotecas estándar de C++ proporcionan un amplio conjunto de capacidades de entrada/salida (E/S). C++ utiliza E/S a prueba

Más detalles

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

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1. Introducción. 2. Clases que contiene el archivo fstream.h.

Más detalles

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

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión ); ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA. Ejemplo: cin y cout Tipos de ficheros: DE TEXTO y BINARIOS Biblioteca de gestión de ficheros (a incluir en los programas) #include Apertura de ficheros

Más detalles

BIBLIOTECA DE CLASES ANSI/ISO C++

BIBLIOTECA DE CLASES ANSI/ISO C++ APÉNDICE G BIBLIOTECA DE CLASES ANSI/ISO C++ CONTENIDO G.1. G.2. G.3. G.4. G.5. G.6. G.7. G.8. G.9. Clase filebuf. Clase fstream. Clase fstreambase. Clase ifstream. Clase ios. Clase iostream. Clase iostream_withassign.

Más detalles

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

Tema 3: Ficheros en C++ Índice. Notas. Programación 2. Curso Notas de : en C++ Programación 2, Curso 2016-2017 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero

Más detalles

Tema 3: Ficheros en C++

Tema 3: Ficheros en C++ de : en C++ Programación 2, Curso 2016-2017 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero

Más detalles

1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Entrada/Salida en C++

1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Entrada/Salida en C++ Entrada/Salida en C++ 1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas. Gestión de Entrada/Salida Principios generales

Más detalles

Sobrecarga de Operadores y E/S en C++ Antonio LaTorre de la Fuente

Sobrecarga de Operadores y E/S en C++ Antonio LaTorre de la Fuente Sobrecarga de Operadores y E/S en C++ Antonio LaTorre de la Fuente Índice Sobrecarga de Funciones Sobrecarga de Operadores Entrada/Salida sobre streams básicos Entrada/Salida sobre streams de fichero Entrada/Salida

Más detalles

Tema 3: Ficheros en C++

Tema 3: Ficheros en C++ de : en C++ Programación 2, Curso 2013-2014 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero

Más detalles

FICHEROS C++ TRANSVERSAL DE PROGRAMACIÓN BÁSICA

FICHEROS C++ TRANSVERSAL DE PROGRAMACIÓN BÁSICA TRANSVERSAL DE PROGRAMACIÓN BÁSICA INGENIERÍA DE SISTEMAS En el presente documente se hace una breve presentación del manejo de ficheros y archivos bajo el lenguaje de c++. Aunque existe más información

Más detalles

Guía resumida de referencia para exámenes

Guía resumida de referencia para exámenes Guía resumida de referencia para exámenes Tabla de referencia de operadores La siguiente tabla contiene algunos operadores que pueden ser sobrecargados (el símbolo # representa a la ubicación del operador

Más detalles

Manejo de archivos en C++

Manejo de archivos en C++ Manejo de archivos en C++ 1 de noviembre de 2002 1. Streams En C++, los archivos se manejan con un tipo particular de stream. Un stream es una estructura de datos que se utiliza para manejar un flujo de

Más detalles

PROGRAMACIÓN AVANZADA. Prácticas de Problemas. Introducción

PROGRAMACIÓN AVANZADA. Prácticas de Problemas. Introducción UNIVERSIDAD NACIONAL DE ENTRE RÍOS Facultad de Ingeniería PROGRAMACIÓN AVANZADA Prácticas de Problemas Introducción Versión 02 Objetivos Revisión de conceptos sobre: tipos de datos, cadenas, arreglos,

Más detalles

Programación 1 Tema 15. Trabajo con ficheros binarios

Programación 1 Tema 15. Trabajo con ficheros binarios Programación 1 Tema 15 Trabajo con ficheros binarios Índice Ficheros binarios Diferencia con ficheros de texto Herramientas de C++ para trabajar con ficheros binarios Problemas básicos con ficheros binarios

Más detalles

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

Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM C vs. C++ C es un lenguaje procedural el elemento central del son las funciones. Cualquier función se puede comunicar con

Más detalles

Uso de archivos en C++

Uso de archivos en C++ CICLO 02-2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 11 Nombre de la práctica: Uso de archivos en C++ Lugar de ejecución: Laboratorio de Informática

Más detalles

Programación 1 Tema 15. Trabajo con ficheros binarios

Programación 1 Tema 15. Trabajo con ficheros binarios Programación 1 Tema 15 Trabajo con ficheros binarios Índice Ficheros binarios Diferencia con ficheros de texto Herramientas de C++ para trabajar con ficheros binarios Problemas básicos con ficheros binarios

Más detalles

Tema 5 Archivos o Ficheros

Tema 5 Archivos o Ficheros Tema 5 Archivos o Ficheros Informática Grado en Física Universitat de València Ariadna.Fuertes@uv.es Francisco.Grimaldo@uv.es 1 Introducción: Concepto de Fichero Tipos de acceso a ficheros Tipos de ficheros:

Más detalles

ALMACENAMIENTO PERSISTENTE DE DATOS

ALMACENAMIENTO PERSISTENTE DE DATOS UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS

Más detalles

Tema 5 Archivos o Ficheros

Tema 5 Archivos o Ficheros Francisco Grimaldo Moreno Ariadna Fuertes Seder Tema 5 Archivos o Ficheros Informática Grado en Física Universitat de València Ariadna.Fuertes@uv.es Francisco.Grimaldo@uv.es 1 Introducción: Concepto de

Más detalles

CONTENIDO DE LA LECCIÓN 6 FLUJO DE SALIDA ESTANDAR EN C++

CONTENIDO DE LA LECCIÓN 6 FLUJO DE SALIDA ESTANDAR EN C++ CONTENIDO DE LA LECCIÓN 6 FLUJO DE SALIDA ESTANDAR EN C++ 1. INTRODUCCIÓN 3 2. FLUJOS 3 2.1. Archivos de encabezado de la biblioteca iostream 4 2.2. Clases y objetos de flujo de entrada/salida 5 3. FLUJO

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Entrada y Salida vía Archivos

Entrada y Salida vía Archivos 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

Más detalles

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Tema 4. Ficheros. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz

Tema 4. Ficheros.  José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz Tema 4. Ficheros http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++

El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ Nuevas palabras reservadas asm inline public virtual catch new template class operator this delete private throw friend protected

Más detalles

INFORMÁTICA INDUSTRIAL

INFORMÁTICA INDUSTRIAL INFORMÁTICA INDUSTRIAL PROGRAMACIÓN BÁSICA C++ (II) M. Abderrahim, A. Castro, J. C. Cas3llo Departamento de Ingeniería de Sistemas y Automá3ca 4. Entrada y salida estándar M. Abderrahim, A. Castro, J.

Más detalles

Examen de prácticas de Programación 1

Examen de prácticas de Programación 1 Examen de prácticas de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Tiempo para realizar el trabajo de programación propuesto:

Más detalles

Hoja de ejercicios del Tema 3

Hoja de ejercicios del Tema 3 Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia

Más detalles

Hoja de ejercicios del Tema 3

Hoja de ejercicios del Tema 3 Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Escribe un programa que lea un número entero positivo del teclado y muestre

Más detalles

Programación 1 Tema 5. Instrucciones simples y estructuradas

Programación 1 Tema 5. Instrucciones simples y estructuradas Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas Instrucción ::= Instrucciones.

Más detalles

Concepto Concept s Los L nom res re d e e los h c eros: exter te n r os o o fí s fí ico nom re ú nico i del del ar chiv chiv o o o ficher ficher en

Concepto Concept s Los L nom res re d e e los h c eros: exter te n r os o o fí s fí ico nom re ú nico i del del ar chiv chiv o o o ficher ficher en Conceptos Los nombres de los ficheros: externos o físico (nombre único del archivo o fichero en el sistema de archivos) e interno o lógico (identificador del fichero dentro de un programa). Las operaciones

Más detalles

Tema 5. Entrada y Salida

Tema 5. Entrada y Salida Tema 5 Entrada y Salida Contenidos 1. Conceptos Previos de Entrada y Salida de Datos. 2. Funciones de Salida de Datos. putchar puts printf 3. Funciones de Entrada de Datos. getchar gets scanf 4. Ficheros

Más detalles

Prof. Dr.Paul Bustamante

Prof. Dr.Paul Bustamante Prácticas de C++ Practica Nº 14 Informática II Fundamentos de Programación Prof. Dr.Paul Bustamante Practica Nº 14 Programación en C++ Pág. 2 ÍNDICE ÍNDICE... 2 1. Introducción... 2 1.1 Ejercicio 1: Grabando

Más detalles

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

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

Para C un chero no es más que una porción de almacenamiento

Para C un chero no es más que una porción de almacenamiento Ficheros en C Para C un chero no es más que una porción de almacenamiento de memoria. C representa un chero como una estructura, de hecho el chero stdio.h contiene la dención de un chero como si fuese

Más detalles

Archivos de Disco. Manejo de la clase fstream

Archivos de Disco. Manejo de la clase fstream UNIDAD 12 Archivos de Disco Manejo de la clase fstream 1.- Introducción. El manejo de archivos usando Programación Orientada a Objetos nos brindan una forma de leer y escribir información en un disco.

Más detalles

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

Programación 1 Tema 16. Trabajo con ficheros: otras posibilidades Programación 1 Tema 16 Trabajo con ficheros: otras posibilidades Objetivos Trabajo de forma no secuencial con ficheros Modo append Acceso directo Modo entrada y salida Objetivos Trabajo de forma no secuencial

Más detalles

Entrada / Salida de Datos en C++

Entrada / Salida de Datos en C++ Entrada / Salida de Datos en C++ Informática II Fundamentos de Programación 1 Entrada/Salida de datos en C++ Basadas en clases y en la herencia (fáciles de extender y modificar). Flujo o stream: dispositivo

Más detalles

Operaciones de E/S en ANSI C

Operaciones de E/S en ANSI C Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los

Más detalles

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

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

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

Programación 1 Tema 16. Trabajo con ficheros: otras posibilidades Programación 1 Tema 16 Trabajo con ficheros: otras posibilidades Objetivos Trabajo de forma no secuencial con ficheros Modo append Acceso directo Modo entrada y salida 2 Objetivos Trabajo de forma no secuencial

Más detalles

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

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Programación I Teoría : Entrada/Salida - Archivos.

Programación I Teoría : Entrada/Salida - Archivos. Programación I Teoría : Entrada/Salida - Archivos http://proguno.unsl.edu.ar proguno@unsl.edu.ar Entrada/Salida Interacción del programa con su ambiente para leer (entrada) y escribir (salida) datos. 2

Más detalles

Tema 2: La clase string. Índice. Notas. Programación 2. Curso Notas. Definición Declaración Entrada / salida Métodos Operaciones

Tema 2: La clase string. Índice. Notas. Programación 2. Curso Notas. Definición Declaración Entrada / salida Métodos Operaciones : string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen

Más detalles

Capítulo. Flujos y archivos en C++ Contenido

Capítulo. Flujos y archivos en C++ Contenido Capítulo 33 Flujos y archivos en C++ Contenido Flujos ( streams) La biblioteca de clases iostream Clases istream y ostream La clase ostream Salida a la pantalla y a la impresora Lectura del teclado Formateado

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 6 de septiembre de 2016 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

Programación 2. Grado en Estadística Aplicada. Curso 2012-2013. Generación de números pseudoaleatorios. Manejo de ficheros de texto.

Programación 2. Grado en Estadística Aplicada. Curso 2012-2013. Generación de números pseudoaleatorios. Manejo de ficheros de texto. Programación 2 Grado en Estadística Aplicada Curso 2012-2013 Generación de números pseudoaleatorios. Manejo de ficheros de texto. Jesús Correas jcorreas@fdi.ucm.es Departamento de Sistemas Informáticos

Más detalles

Metodología de Programación I Tutorial de Prolog (3/3)

Metodología de Programación I Tutorial de Prolog (3/3) Metodología de Programación I Tutorial de Prolog (3/3) Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra

Más detalles

Tema 13: Manejo de archivos en lenguaje C

Tema 13: Manejo de archivos en lenguaje C Tema 13: Manejo de archivos en lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().

Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc(). Notas auxiliares sobre manejo de archivos Las funciones de entrada salida (E/S) de las librerías estandar de C, permiten leer y escribir datos a, y desde, archivos y dispositivos. La caracteristica fundamental

Más detalles

SEMINARIO C++ Introducción a la Programación Orientada a Objetos. Parte III v Cristina Cachero Pedro J. Ponce de León

SEMINARIO C++ Introducción a la Programación Orientada a Objetos. Parte III v Cristina Cachero Pedro J. Ponce de León SEMINARIO C++ Introducción a la Programación Orientada a Objetos Parte III v. 20070918 Cristina Cachero Pedro J. Ponce de León Depto. Lenguajes y Sistemas Informáticos - Universidad de Alicante ÍNDICE

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

Programación 1 Tema 5. Instrucciones simples y estructuradas

Programación 1 Tema 5. Instrucciones simples y estructuradas Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas 2 Instrucción ::= 3 Instrucciones.

Más detalles

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

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

Más detalles

UNIDAD 3 Uso de Clases Predefinidas. 1.- INTRODUCCION.

UNIDAD 3 Uso de Clases Predefinidas. 1.- INTRODUCCION. UNIDAD 3 Uso de Clases Predefinidas. 1.- INTRODUCCION. Los tipos de datos definidos por el usuario o clases es lo que distingue al C++ de los lenguajes procedurales tradicionales. Una clase es un nuevo

Más detalles

Programación 1 Tema III Clase de problemas. Diseño de algoritmos que extraen información de ficheros de texto (1)

Programación 1 Tema III Clase de problemas. Diseño de algoritmos que extraen información de ficheros de texto (1) Programación 1 Tema III Clase de problemas Diseño de algoritmos que extraen información de ficheros de texto (1) 1 Ficheros de texto para almacenar la información de un grupo de ciudadanos 1706 57912906,GRACIA

Más detalles

3.9 Streams y Archivos Streams Básicos 18/04/2004. API de InputStream (1/2) Streams de Bytes y Caracteres. API de OutputStream

3.9 Streams y Archivos Streams Básicos 18/04/2004. API de InputStream (1/2) Streams de Bytes y Caracteres. API de OutputStream 3.9 Streams y Archivos Streams, clases, archivos, streams de objetos y serialización 3.9.1 Streams Básicos Streams de Bytes y Caracteres E/S es en principio una secuencia de bytes Ejemplo: Archivo, dispositivo,

Más detalles

Archivos en lenguaje C

Archivos en lenguaje C Archivos en lenguaje C Los archivos, a diferencia de las estructuras de datos conocidas hasta ahora (variables simples, arreglos) son estructuras de datos almacenadas de manera permanente (discos rígidos,

Más detalles

5. CLASES Y FUNCIONES GENÉRICAS

5. CLASES Y FUNCIONES GENÉRICAS página 1 5. CLASES Y FUNCIONES GENÉRICAS OPCIONES AVANZADAS: PLANTILLAS (TEMPLATES) Y MANEJO DE EXCEPCIONES Plantillas La generalidad es una propiedad que permite definir una clase o una función sin tener

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Algoritmos y estructura de datos

Algoritmos y estructura de datos Algoritmos y estructura de datos Asignatura anual, código 082021 MACHETE MODULO 3 Struct y FILE Departamento de Ingeniería en Sistemas de Información Universidad Tecnológica Nacional FRBA UTN FRBA Página

Más detalles

Programación 1. Tema V Clase de problemas. Desarrollo de un módulo de biblioteca C++ para trabajar con conjuntos de letras

Programación 1. Tema V Clase de problemas. Desarrollo de un módulo de biblioteca C++ para trabajar con conjuntos de letras Programación 1 Tema V Clase de problemas Desarrollo de un módulo de biblioteca C++ para trabajar con conjuntos de letras 1 1. Representación del tipo Conjunto DebedefinirselarepresentacióndelosdatosdetipoConjunto

Más detalles

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

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

Más detalles

6. Archivos. Programación II, FCFM, BUAP

6. Archivos. Programación II, FCFM, BUAP 6. Archivos Programación II, FCFM, BUAP Definición Un archivo o fichero desde el punto de vista informático es una colección de información almacenada en memoria secundaria (un medio externo) y no en memoria

Más detalles

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro

Más detalles

26 de Octubre del 2013

26 de Octubre del 2013 Hernánz Hernánz OMIJAL 26 Octubre l 2013 Contenidos Hernánz 1 2 3 4 ++ 5 6 7 Hernánz Concepto Un concepto es una ia, algo abstracto. No existe en la naturaleza. Palabras Herramientas que utilizamos para

Más detalles

Ficheros. Archivo, o fichero: Características:

Ficheros. Archivo, o fichero: Características: Ficheros Archivo, o fichero: Es una estructura de datos en memoria externa, cuyo tiempo de vida no está ligado a la ejecución del programa que lo crea o lo maneja. Un fichero existe desde que un programa

Más detalles

Creación de clases en C++ (I)

Creación de clases en C++ (I) Clases en C Creación de clases en C++ (I) Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Convertir estructura InfoAlumno en una clase Escribir una clase simple en C++, con constructores

Más detalles

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include

Más detalles

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

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el

Más detalles

Diseño y Realización de Servicios de Presentación en Entornos Gráficos

Diseño y Realización de Servicios de Presentación en Entornos Gráficos Diseño y Realización de Servicios de Presentación en Entornos Gráficos ēġ2008 {jmtorresano} José María Torresano entornos.jmt@gmail.com Octubre 2008 Empezando Biblioteca estándar // Un pequeño programa

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 8 Material visual: Diapositivas Unidad de competencia

Más detalles

Introducción a C++ Índice

Introducción a C++ Índice Introducción a C++ 1. 2. 3. 4. 5. 6. Índice 1. Diferencias entre C y C++. 2. Diferencias entre C++ y Java. 3. Ejemplos. 4. Funciones. 5. Memoria dinámica 6. Librería de funciones. 1 1. Diferencias entre

Más detalles

Programación 1. Tema II. Diseño de los primeros programas. Lección 4. Diseño de algunos programas elementales

Programación 1. Tema II. Diseño de los primeros programas. Lección 4. Diseño de algunos programas elementales Programación 1 Tema II. Diseño de los primeros programas Lección 4. Diseño de algunos programas elementales 1 Objetivos de la lección: Aprender, paso a paso, una metodología de programación descendente

Más detalles

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

Entrada/Salida. Entrada/Salida. Flujos de texto. Flujos de datos. Flujos binarios. Flujos estándares ANSI Entrada/Salida Entrada/Salida Mario Medina C. mariomedina@udec.cl Funciones de entrada/salida no son parte del lenguaje propiamente tal Bibliotecas son parte del estándar ANSI C Biblioteca estándar:

Más detalles

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

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

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

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks Temario detallado Programación básica en C++ Conceptos generales de lenguajes y compiladores Proceso de compilación de un programa en C++ bajo Code::Blocks Estructura básica de un programa en C++ Análisis

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Salvador Pozo Coronado. (C) 2004, C con Clase. Manejo de archivos. Capítulo ---

Salvador Pozo Coronado. (C) 2004, C con Clase. Manejo de archivos. Capítulo --- Manejo de archivos. Capítulo --- Salvador Pozo Coronado (C) 2004, C con Clase http://localhost/conclase/c/ficheros/para-pdf/curso.php [19/01/2004 20:08:03] Manejo de archivos. Capítulo 001 1 Generalidades:

Más detalles