Temario de Estructura de datos
Enviado por ffffeee • 8 de Octubre de 2019 • Resumen • 1.367 Palabras (6 Páginas) • 221 Visitas
Archivo Físico: Es el archivo tal como lo conoce el SO y el cual aparece en su directorio de archivos.
Archivo Lógico: Es el archivo visto por el programa. Permite a un programa describir las operaciones que van a efectuarse en un archivo sin saber cuál archivo físico se usará.
Modos de apertura:
- ios:app – Anexa toda la salida al final del archivo.
- ios::in – Abrir archivo en modo lectura.
- ios::out – Abrir archivo en modo escritura.
- ios::binary – Abrir archivo en modo binario (no es de texto) de entrada o salida.
- ios::ate – Abrir archivo en modo salida y posicionar al final de este.
Archivos de acceso Secuencial:
Ofstream, Ifstream y Fstream son clases.
Funciones miembros de istream y ostream:
Seekg para istream, Seekp para ostream.
- Ios::beg – posicionar al inicio del archivo.
- Ios::cur – posición actual en el archivo.
- Ios::end – posicionar relativamente antes del final del archivo.
Posiciona el apuntador en el lugar del archivo donde se va a escribir. (Cuenta con las mismas operaciones que Seekp).
Tellg para istream, Tellp para ostream.
Devuelve la ubicación actual del apuntador en el archivo de entrada/salida.
Método Clear(): Se utiliza cada vez que se produzca una condición de error en el stream (archivo lógico) para eliminarla, ya que si no se elimina ninguna operación tendrá éxito.
Método eof(): Verifica si se ha alcanzado el final del fichero y retorna un valor nulo si es así.
Archivos de acceso Aleatorio:
Los archivos de acceso secuencial son inapropiados para las aplicaciones de acceso instantáneo, en las que un registro especifico debe localizarse inmediatamente.
Los archivos de acceso aleatorio utilizan registros de longitud fija. El uso de registros de longitud fija facilita a un programa el calcular la ubicación exacta de cualquier registro, en forma relativa al inicio del archivo.
Los datos pueden insertarse en un archivo de acceso aleatorio sin destruir a los demás datos en el archivo. Los datos almacenados previamente también pueden actualizarse o eliminarse sin tener que volver a escribir todo el archivo.
Función miembro write de ostream
La función write escribe los datos en la posición dentro del archivo especificado por el apuntador “put” de posición de archivo.
Función miembro read de istream
La función read introduce los bytes en la posición dentro del archivo especificado por el apuntador “get” de posición de archivo.
archivoSalida.write(reinterpret_cast
- El operador reinterpret_cast
convierte la dirección de numero en un apuntador const char*. - El segundo argumento especifica el número de bytes a escribir.
- La función read se utiliza para leer los 4 bytes de vuelta.
Un archivo como una secuencia de bytes
Cuando se trabaja con archivos se denomina campos a esos agregados fundamentales. Un campo es la unidad de información lógicamente significativa más pequeña en un archivo, es una idea lógica, una herramienta conceptual.
Estructuras de campos
Métodos para añadir estructura a los archivos para mantener la identidad de los campos.
1.- Fijar la longitud de los campos: Forzar que los campos tengan longitudes predecibles ayuda a recuperar los campos con tan solo contar hasta el final del campo. Una desventaja es que al agregar el relleno requerido para llevar los campos a una longitud fija el archivo crece mucho.
2.- Comenzar cada campo con un indicador de longitud: Una forma de contar hasta el final del campo es almacenar su longitud delante del campo, si no es demasiado largo (256 bytes) es posible almacenarlo en un solo byte.
3.- Separar los campos con delimitadores: Elegir un carácter especial que no se confunda e insertar ese carácter dentro del archivo luego de escribir cada campo.
Estructuras de registro
Un registro puede definirse como un conjunto de campos agrupados bajo la perspectiva de un archivo de nivel más alto de organización en un archivo. Es otra herramienta conceptual.
Métodos para organizar un archivo en registros
1.- Hacer los registros de una longitud predecible: Esto permite mantener la cuenta dentro del registro, cuando se alcanza la cantidad predeterminada se sabe que el registro se ha leído por completo.
...