Archivos Y Estructuras En C
Programación C
Archivos y Estructuras en C.
Archivos en C.
Los programas en C, manejan gran cantidad de datos de distintos tipos al mismo tiempo, el único inconveniente es que estos datos son retenidos durante la ejecución del programa, al terminar la ejecución los datos se pierden.
Los ficheros o archivos, son medios que facilita el lenguaje deprogramación C para almacenar datos de manera permanente, normalmente en los dispositivos de almacenamiento estándar.
Desde el punto de vista informático, un fichero es una colección de información que almacenamos en un soporte magnético para poder manipularla en cualquier momento.
Esta información se almacena como un conjunto de registros.
Existen dos tipos de archivos de C, secuenciales yde acceso aleatorio.
Archivos secuenciales.
Estos archivos solo pueden leerse y escribirse desde el principio del archivo.
Características:
* La escritura de nuevos datos solo se hace al final del archivo.
* Para leer datos solo se puede avanzar, si la zona se encuentra antes de la zona actual se debe “rebobinar” el archivo.
* Los ficheros solo se abren para lectura o escritura,nunca para ambos modos.
Una de las ventajas de trabajar con archivos secuenciales es que son sencillos de manejar, son más rápidos ya que el punto de lectura/escritura siempre esta determinado pues no es posible moverse a lo largo del archivo. Estos archivos resultan ser muy útiles cuando solo se requiere almacenar daos a medida que se reciben.
Archivos de acceso aleatorio.
Estos archivos sonmás versátiles que los secuenciales. Los archivos de acceso aleatorio permiten escribir y leer datos en cualquier parte del archivo en todo momento.
Características:
* Abrir el archivo en modo de lectura-escritura. Esto no es del todo necesario, es posible usar archivos de acceso aleatorio de solo lectura o escritura.
* Abrir el archivo en modo binario. Es necesario abrir en modo binariodebido a que algunos o todos los campos de la estructura pueden no ser caracteres.
* Usar las funciones fread y fwrite, estas funciones permiten leer y escribir registros con longitud constante.
* Situar el cursor o puntero en el lugar apropiado del archivo con la función fseek.
Clasificación de archivos.
En C y C++ podemos clasificar los archivos según varias categorías:
1.Dirección del flujo de datos.
* Entrada: Los datos son leídos por el programa desde el archivo.
* Salida: Los datos son escritos por el programa hacia el archivo.
* Entrada/Salida: Los datos pueden ser escritos o leídos.
2. Tipo de valor permitido para cada Byte.
* Texto: Existe un rango de valor para cada byte. Un byte, por ejemplo, en hexadecimal el valor 0x1A indica fin dearchivo, no se podrá leer un valor mayor a este, aunque el fichero sea más largo.
* Binario: Se permiten todos los valores para cada byte. En este tipo de archivo, el final de fichero se detecta de manera distinta, dependiendo del soporte y sistema operativo. La mayoría de las veces se hace guardando la longitud del fichero. Cuando se quiere almacenar valores enteros, de coma flotante, o imágenes,entre otros, se debe usar este tipo de archivos.
3. Longitud de registro.
* Longitud variable: En este tipo de archivo sobra hablar de longitud de registro, cada byte es tomado como un registro.
* Longitud constante: en estos archivos se almacenan los datos en forma de registro con un tamaño constate. C dispone de funciones de biblioteca adecuadas para manejar este tipo de ficheros.* Mixtos: existen archivos que combinan los dos tipos de registros.
Es posible crear archivos combinando las categorías anteriores.
En cuanto a cómo se definen estas propiedades, hay dos casos. Si son binarios o de texto o de entrada, salida o entrada/salida, se define al abrir el fichero, mediante la función fopen en C o mediante el método open de fstream en C. La función hace uso de dos...
Regístrate para leer el documento completo.