La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Computación II Unidad IX Flujos y archivos. Presentación de la unidad Objetivos: –Comprender como utilizar el flujo de entrada y salida en C++ –Comprender.

Presentaciones similares


Presentación del tema: "Computación II Unidad IX Flujos y archivos. Presentación de la unidad Objetivos: –Comprender como utilizar el flujo de entrada y salida en C++ –Comprender."— Transcripción de la presentación:

1 Computación II Unidad IX Flujos y archivos

2 Presentación de la unidad Objetivos: –Comprender como utilizar el flujo de entrada y salida en C++ –Comprender la jerarquía de clase de entrada/salida. –Ser capaces de determinar el éxito o el fracaso de las operaciones de entrada/salida. –Conocer y saber manipular archivos.

3 Contenidos: –Flujos (streams). Definición y tipos. –Clases istream y ostream. –Clases ifstream y ofstream. –Formateo de entrada/salida. –Apertura, operación y cierre de archivos. Presentación de la unidad

4 Flujo Un flujo es solo una secuencia de bytes. El trabajo de los mecanismos de entrada y salida es mover los bytes de los dispositivos a la memoria y viceversa, de forma consistente y confiable. C++ proporciona tanto capacidades de entrada y salida de “bajo nivel”, como de alto nivel. Entrada/salida de bajo nivel: –Entrada y salida sin formato; el byte individual es el elemento de interés. Entrada/salida de alto nivel: –Entrada y salida con formato; bytes agrupados en unidades significativas como enteros, cadenas, tipos definidos por el usuario, etc.

5 Tipos de Streams Los streams mas normales son los que se establecen entre un programa y la consola, el teclado o la pantalla. Existen también streams entre un programa y un archivo, pudiendo actuar cada una de las entidades como emisor y/o receptor de datos. Se puede transferir información entre zonas de memoria en forma de streams.

6 Clases y objetos de flujo de entrada y salida La clase iostream contiene los objetos que corresponden al flujo de entrada/salida estándar. La clase fstream contiene la información necesaria para llevar a cabo las operaciones de procesamiento de archivo. ios istram ostram iostram ofstram ifstram fstram

7 istream apoya operaciones de entrada de flujo. –cin objeto de la clase istream, ligado al dispositivo de entrada estandar (teclado) –“<<“ Operador de inserción definido en iostream.h y sobrecargado en istream ostream apoya operaciones de salida de flujo; salidas con y sin formato. –cout objeto de la clase ostream, se dice que esta ligado al dispositivo de salida estándar. –cerr y clog objetos de la clase ostream; ligados con el dispositivo de error estándar. Las salidas de cerr no pasan por almacenamientos temporales ni buffers. Clases y objetos de flujo de entrada/salida

8 –“>>” Operador de extracción definido en iostream.h y sobrecargado en ostream –Utilizando “>>” para cadenas, el espacio en blanco actúa como fin de la cadena Para el procesamiento de archivos: –ifstream lleva a cabo las operaciones de entrada de archivo. –ofstream lleva a cabo las operaciones de salida de archivo. –Los archivos necesitan abrirse antes de poder ser utilizados. Clases y objetos de flujo de entrada/salida

9 Formateo de la entrada/salida Anchura: –Por defecto el ancho se corresponde con el espacio necesario para su almacenamiento. –Los datos se ajustan por defecto a la derecha. –Método width(). Sin parámetros retorna el ancho actual [cout.width(0)] –setw() setea el numero de caracteres a ser usado. Precisión: –Por defecto un número en punto flotante se presenta con todos sus dígitos –Método precision(). Sin parámetros retorna el valor fijado anteriormente –Manipulador setprecision()

10 Bases de numeración: –Lo normal es realizar las entradas y salidas de datos numéricos en decimal –Se pueden utilizar los modificadores dec, hex, oct y setbase() #include using namespace std; int main () { int n=70; cout << dec << n << endl; cout << hex << n << endl; cout << oct << n << endl; return 0; } Formateo de la entrada/salida

11 Otros manipuladores: –endl: Inserta un carácter de nueva línea (retorno de carro) –ends: Inserta un terminador de cadena (un carácter nulo) “\0” –flush: Fuerza la salida de los caracteres que estén en el buffer –flush(): También existe como método de un stream de salida, (cout) –ws: Se ignoran los espacios en blanco en las operaciones de entrada, (cin). Formateo de la entrada/salida

12 Apertura, operación y cierre de archivos Definición de archivo: –Secuencia de bits almacenado en algún dispositivo externo. –En C++ un archivo es simplemente un flujo externo que se puede abrir para entrada, para salida o para entrada-salida. –C++ soporta dos tipos de archivos: de texto y binarios. –Una biblioteca en C++ que proporciona “funciones” y operadores para el manejo de ficheros es la biblioteca fstream.

13 Definición, apertura y cierre: –Declaración de variables tipo archivo: ifstream entrada("Hola.txt"); ifstream input; ofstream output; –Apertura de archivos de Texto input.open("Hello.txt"); // Apertura para Lectura output.open(“Hola.txt”); // Apertura para E (borra el contenido) output.open(“hola.txt”,ios::in|ios:: out); // Apertura para L/ E –Apertura de Archivos Binarios input.open(“archivo1.dat”,ios::binary); // Apertura para Lectura out.open(“ar2.dat”,ios::binary); //Apertura para E (borra el contenido) – Cierre entrada.close(); input.close(); Apertura, operación y cierre de archivos

14 Detección de fin de fichero y otras funciones. –eof() que devuelve true si se ha alcanzado el final del archivo y falso en cualquier otro caso. –fail() devuelve true si existe un error en una operación de flujo asociada al fichero. –bad() devuelve true si el flujo está corrupto. –good() que devuelve true si no existe un error en una operación de flujo y false en caso contrario. Antes de empezar a leer o escribir en un fichero es siempre conveniente verificar que la operación de apertura se realizó con éxito. Apertura, operación y cierre de archivos


Descargar ppt "Computación II Unidad IX Flujos y archivos. Presentación de la unidad Objetivos: –Comprender como utilizar el flujo de entrada y salida en C++ –Comprender."

Presentaciones similares


Anuncios Google