Archivos secuenciales en c

Páginas: 15 (3623 palabras) Publicado: 21 de marzo de 2012
Archivos secuenciales
En estos archivos, la información sólo puede leerse y escribirse empezando desde el principio del archivo.
Los archivos secuenciales tienen algunas características que hay que tener en cuenta:
* La escritura de nuevos datos siempre se hace al final del archivo.
* Para leer una zona concreta del archivo hay que avanzar siempre, si la zona está antes de la zonaactual de lectura, será necesario "rebobinar" el archivo.
* Los ficheros sólo se pueden abrir para lectura o para escritura, nunca de los dos modos a la vez.
Esto es en teoría, por supuesto, en realidad C no distingue si los archivos que usamos son secuenciales o no, es el tratamiento que hagamos de ellos lo que los clasifica como de uno u otro tipo.
Pero hay archivos que se comportan siemprecomo secuenciales, por ejemplo los ficheros de entrada y salida estándar: stdin, stdout, stderr y stdaux.
Tomemos el caso de stdin, que suele ser el teclado. Nuestro programa sólo podrá abrir ese fichero como de lectura, y sólo podrá leer los caracteres a medida que estén disponibles, y en el mismo orden en que fueron tecleados.
Lo mismo se aplica para stdout y stderr, que es la pantalla, enestos casos sólo se pueden usar para escritura, y el orden en que se muestra la información es el mismo en que se envía.
Un caso especial es stdaux, que suele ser el puerto serie. También es un archivo secuencial, con respecto al modo en que se leen y escriben los datos. Sin embargo se un fichero de entrada y salida.
Trabajar con archivos secuenciales tiene algunos inconvenientes. Por ejemplo,imagina que tienes un archivo de este tipo en una cinta magnética. Por las características físicas de este soporte, es eviente que sólo podemos tener un fichero abierto en cada unidad de cinta. Cada fichero puede ser leído, y también sobrescrito, pero en general, los archivos que haya a continuación del que escribimos se perderán, o bien serán sobreescritos al crecer el archivo, o quedará unespacio vacío entre el final del archivo y el principio del siguiente.
Lo normal cuando se quería actualizar el contenido de un archivo de cinta añadiendo o modificando datos, era abrir el archivo en modo lectura en una unidad de cinta, y crear un nuevo fichero de escritura en una unidad de cinta distinta. Los datos leídos de una cinta se editan o modifican, y se copian en la otrasecuencialmente.
Cuando trabajemos con archivos secuenciales en disco haremos lo mismo, pero en ese caso no necesitamos dos unidades de disco, ya que en los discos es posible abrir varios archivos simultáneamente.
En cuanto a las ventajas, los archivos secuenciales son más sencillos de manejar, ya que requieren menos funciones, además son más rápidos, ya que no permiten moverse a lo largo del archivo, elpunto de lectura y escritura está siempre determinado.
En ocasiones pueden ser útiles, por ejemplo, cuando sólo se quiere almacenar cierta información a medida que se recibe, y no interesa analizarla en el momento. Posteriormente, otro programa puede leer esa información desde el principio y analizarla. Este es el caso de archivos "log" o "diarios" por ejemplo, los servidores de las páginas WEBpueden generar una línea de texto cada vez que alguien accede a una de las páginas y las guardan en un fichero secuencial.

TEMA 6: GRABACION Y LECTURA DISCO C++
Como ya se menciono grabar y lectura de registros o estructuras a renglones o registros de archivos en disco.
Estos dos procesos son los casos más comunes y frecuentes que se pueden realizar con un archivo de disco.
GRABACION DE UNAESTRUCTURA A UN ARCHIVO EN DISCO
-------------------------------------------------
#include <stdio.h>
-------------------------------------------------
#include <conio.h>
-------------------------------------------------
#include <string.h>
-------------------------------------------------
struct {...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Archivos secuenciales
  • Archivos secuenciales
  • Archivos Secuenciales
  • Archivo Secuencial
  • Archivos Secuenciales
  • Archivos Secuenciales
  • archivos secuencial
  • Archivos secuenciales

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS