13
Programación C++ Manejo de Archivos Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional

Programación C++ Manejo de Archivos · Programación C++ Manejo de Archivos Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Programación C++

Manejo de Archivos

Dr. Oldemar Rodríguez Rojas

Escuela de Informática

Universidad Nacional

Jerarquía de Clases para el manejo de archivos en C++

Ejemplo: Escritura de

Archivo de Texto

Ver <EJ1.CPP>

Ejemplo: Lectura de Archivo

de Texto

Ver <EJ2.CPP>

Ejemplo: Punteros al archivo

Ver <EJ3.CPP>

// Declara una instancia de ifstream ifstream ArchivoClientes("clientes.dat", ios::in); // Posiciona el puntero en el byte n ArchivoClientes.seekg(n); // Posiciona el puntero n bytes delante de la posición actual ArchivoClientes.seekg(n,ios::cur); // Posiciona el puntero n bytes delante de la posición actual ArchivoClientes.seekg(0,ios::end);

Ejemplo: Archivos de Acceso aleatorio

Ver <Ej4.CPP>

1. Registros de tamaño fijo 2. Facilita la modificación e inserción de registros 3. Usaremos archivos binarios (no de texto) 4. Tendremos acceso aleatorio a los registros y no solo

secuencial como en los ejemplos anteriores

Ejemplo: Escribiendo datos

en el archivo aleatorio

Ver <EJ5.CPP>

Ejemplo: Leyendo los datos

en el archivo aleatorio

Ver <EJ6.CPP>

Ejemplo: Un ejemplo

completo de archivos

Ver <EJ7.CPP>

Listas Genéricas y Archivos Primera

......

Asistente PersonaEstudiante

......

......

Libro Libro

1-N

La noción de polimorfismo en un archivo

Serialización de Objetos

A continuación se presenta nuevamente el

ejemplo anterior, pero ahora se agregan nuevos

métodos virtuales que permiten Guardar y

Recuperar en un archivo binario objetos "tipo"

Persona, Estudiante, EstCompu y Asistente, para

luego agregar los métodos que permiten Guardar

y Recuperar la lista polimórfica completa en un

archivo.

Ejemplo: Lista de Personas

con Archivos

Ver <EJ8.CPP>

MUCHAS GRACIAS….