C2 u4b

Page 1

Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas

1


Archivos • 4.2 Streams en Java y C++

2


C++ • En C++ el manejo de archivos cambia drásticamente dado que se manejan clases. • Se encuentran definidas en la biblioteca <fstream> generalmente se manejan tres clases ifstream para entrada, ofstream para salida y fstream para entrada y salida. 3


Archivos en C++ • Los objetos genéricos de <iostream> (cin, cout, cerr y clog) son considerados flujos o archivos. • Se siguen realizando las mismas operaciones sobre archivos: abrir, leer/escribir, cerrar archivo con algunas características. 4


//Archivo de salida #include <cstdlib> #include <iostream> #include <fstream>

Ejemplo

using namespace std; int main(int argc, char *argv[]) {

5


Ejemplo string cadena; unsigned short int edad; ofstream archivo("archivo.txt", ios::out); if(!archivo) { cerr<<"El archivo no pudo crearse"; exit(-1); }

6


Ejemplo

//lectura de datos desde la terminal cout<<"Introduce tu nombre y edad"; cin>>cadena>>edad; archivo<<cadena<<" "<<edad; system("PAUSE"); return EXIT_SUCCESS; }

7


Archivos en C++ • Se abre un archivo al crear un objeto ofstream, se tienen los siguientes parametros: • • • •

ios::app //a ios::ate //a+ ios:in //r ios:out //w

8


Archivos en C++ • ios::nocreate //si no existe, falla • Ios::noreplace //si existe falla • El operador de fin de archivo generalmente se representa con Ctrl+z o Ctrl+d. • Se puede cerrar un archivo con el método close(), si no se utiliza al finalizar el programa el destructor lo hace.

9


Archivos en C++ //Para lectura de archivos string nombre; unsigned short edad; ifstream archivo(“archivo.txt”, ios::in) archivo>>nombre>>edad; cout<<“nombre:”<<nombre<<“ edad:”<< edad;

10


Archivos • Por la forma de acceder a los archivos estos se clasifican en acceso secuencial y directo. • Generalmente cuando se maneja archivos de texto el manejo es secuencial y cuando son binarios se pueden acceder de manera aleatoria. 11


Archivos • Se puede utilizar el método write() de ofstream para escribir en modo binario y el método read de ifstream para leer en modo binario. • Se puede utilizar el método seekp() para desplazarse de manera aleatoria por todo el archivo. 12


Archivos en C++ • Otros métodos que se pueden utilizar es el método open() para abrir, fail() para comprobar si se abrió correctamente y eof() para validar fin de archivo. • Al abrir un archivo se puede omitir su modificador y se le asignan los permisos por default. 13


Archivos en C++ • Se pueden agregar diversos modificadores de acceso: ios:in | ios:out, para lectura y escritura a la vez.

14


多Preguntas, dudas y comentarios?

15


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.