1 Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas.
-
Upload
maria-josefa-morales-peralta -
Category
Documents
-
view
231 -
download
1
Transcript of 1 Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas.
11
Unidad IV Archivos en Unidad IV Archivos en Java y C++Java y C++
M.C. Juan Carlos Olivares Rojas
ArchivosArchivos
• 4.2 Streams en Java y C++
22
C++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. 33
Archivos en C++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.
44
EjemploEjemplo//Archivo de salida#include <cstdlib>#include <iostream>#include <fstream>
using namespace std;
int main(int argc, char *argv[]){
55
EjemploEjemplo string cadena; unsigned short int edad; ofstream archivo("archivo.txt", ios::out); if(!archivo) { cerr<<"El archivo no pudo crearse"; exit(-1); }
66
EjemploEjemplo //lectura de datos desde la terminal cout<<"Introduce tu nombre y edad"; cin>>cadena>>edad; archivo<<cadena<<" "<<edad; system("PAUSE"); return EXIT_SUCCESS;}
77
Archivos en C++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 88
Archivos en C++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.
99
Archivos en C++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; 1010
ArchivosArchivos
• 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.
1111
ArchivosArchivos
• 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.
1212
Archivos en C++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.
1313
Archivos en C++Archivos en C++
• Se pueden agregar diversos modificadores de acceso: ios:in | ios:out, para lectura y escritura a la vez.
1414
1515
¿Preguntas, dudas y ¿Preguntas, dudas y comentarios?comentarios?