Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Archivos binarios en C++
Archivo de cabecera fstream.h
2
Archivos binarios Es un archivo sin formato.
Los datos se almacenan tal y como se almacenan en la memoria de la computadora, no hay conversiones. Los elemento que se desean almacenar, se guardan en variables, matrices o registro tipo struct.
3
Declaración de objetos de la clase
Objeto de entrada ifstream entrada; Objeto de salida ofstream salida; Objeto de entrada/salida fstream ensa;
4
Apertura de archivos Salida (escribir archivo) Entrada (leer archivo)
salida.open ("d:/agenda1.dat", ios::binary); Salida (escribir archivo) entrada.open ("d:/agenda1.dat", ios::binary); Entrada (leer archivo) ensa.open ("d:/agenda1.dat", ios::binary); Ensa Modo de apertura Path
5
Modos de apertura ios::app Operaciones de añadidura.
ios::ate Coloca el apuntador del archivo al final del mismo. ios::in Operaciones de lectura. Esta es la opción por defecto para objetos de la clase ifstream. ios::out Operaciones de escritura. Esta es la opción por defecto para objetos de la clase ofstream. ios::nocreate Si el archivo no existe se suspende la operación. ios::noreplace Crea un archivo, si existe uno con el mismo nombre la operación se suspende. ios::trunc Crea un archivo, si existe uno con el mismo nombre lo borra. Ios::binary Operaciones binarias.
6
Funciones de archivos salida.write((char*)&Variable,sizeof(tipo de dato); entrada.read((char*)&Variable ,sizeof(tipo de dato));
7
Cerrar archivos salida.close (); entrada.close();
8
Acceso a posiciones específicas
Para mover los apuntadores de archivo a posiciones específicas se utilizan dos funciones: seekg( ) coloca el apuntador de escritura de archivo en un lugar específico seekp( ) mueve el apuntador de lectura a una posición específica en el archivo seekg(desplazamiento,posición); seekp(desplazamiento, posición);
9
Parámetro de posición ios::beg Desde el principio del archivo
ios::cur Desde la posición actual del apuntador ios::end Desde el fin del archivo
10
Ejemplo seekp(); salida.seekp(0, ios::end); salida.open("d:/agenda1.dat",ios::app | ios::binary); cout << "Desea dar de alta nuevos registros? (S/N) "; cin >> resp;
11
Ejemplo seekg(); entradaSalida.open("E:/agenda1.dat",ios::in | ios::binary); int noRegistro = 0; cout << "Ingrese el numero de registro que desea seleccionar: " << endl; cin >> noRegistro; cin.ignore(256,'\n'); entradaSalida.seekg( (noRegistro-1) * sizeof(dato), ios::beg ); entradaSalida.read((char*)&AL,sizeof(dato));
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.