bachiller

Páginas: 6 (1268 palabras) Publicado: 21 de septiembre de 2013
El tipo de acceso, en C y C++ podemos clasificar los archivos según varias categorías:
Dependiendo de la dirección del flujo de datos:
De entrada: los datos se leen por el programa desde el archivo.
De salida: los datos se escriben por el programa hacia el archivo.
De entrada/salida: los datos pueden se escritos o leídos.
Dependiendo del tipo de valores permitidos a cada byte:
De texto:sólo están permitidos ciertos rangos de valores para cada byte. Algunos bytes tienen un significado especial, por ejemplo, el valor hexadecimal 0x1A marca el fin de fichero. Si abrimos un archivo en modo texto, no será posible leer más allá de un byte con ese valor, aunque el fichero sea más largo.
Binarios: están permitidos todos lo valores para cada byte. En estos archivos el final del fichero sedetecta de otro modo, dependiendo del soporte y del sistema operativo. La mayoría de las veces se hace guardando la longitud del fichero. Cuando queramos almacenar valores enteros, o en coma flotante, o imágenes, etc, deberemos usar este tipo de archivos.
Según el tipo de acceso:
Archivos secuenciales: imitan el modo de acceso de los antiguos ficheros secuenciales almacenados en cintasmagnéticas y
Archivos de acceso aleatorio: permiten acceder a cualquier punto de ellos para realizar lecturas y/o escrituras.
Según la longitud de registro:
Longitud variable: en realidad, en este tipo de archivos no tiene sentido hablar de longitud de registro, podemos considerar cada byte como un registro. También puede suceder que nuestra aplicación conozca el tipo y longitud de cada dato almacenadoen el archivo, y lea o escriba los bytes necesarios en cada ocasión. Otro caso es cuando se usa una marca para el final de registro, por ejemplo, en ficheros de texto se usa el carácter de retorno de línea para eso. En estos casos cada registro es de longitud diferente.
Longitud constante: en estos archivos los datos se almacenan en forma de registro de tamaño constante. En C usaremos estructuraspara definir los registros. C dispone de funciones de biblioteca adecuadas para manejar este tipo de ficheros.
Mixtos: en ocasiones pueden crearse archivos que combinen los dos tipos de registros, por ejemplo, dBASE usa registros de longitud constante, pero añade un registro especial de cabecera al principio para definir, entre otras cosas, el tamaño y el tipo de los registros.
Es posible creararchivos combinando cada una de estas categorías, por ejemplo: archivos secuenciales de texto de longitud de registro variable, que son los típicos archivos de texto. Archivos de acceso aleatorio binarios de longitud de registro constante, normalmente usados en bases de datos. Y también cualquier combinación menos corriente, como archivos secuenciales binarios de longitud de registro constante,etc.
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 open usa dos parámetros. El primero es el nombre del fichero que contiene el archivo. El segundo es em modo que es una cadena que indica el modo enque se abrirá el archivo: lectura o escritura, y el tipo de datos que contiene: de texto o binarios.
En C, los ficheros admiten seis modos en cuanto a la dirección del flujo de datos:
r: sólo lectura. El fichero debe existir.
w: se abre para escritura, se crea un fichero nuevo o se sobrescribe si ya existe.
a: añadir, se abre para escritura, el cursor se situa al final del fichero. Si elfichero no existe, se crea.
r+: lectura y escritura. El fichero debe existir.
w+: lectura y escritura, se crea un fichero nuevo o se sobrescribe si ya existe.
a+: añadir, lectura y escritura, el cursor se situa al final del fichero. Si el fichero no existe, se crea.
En cuanto a los valores permitidos para los bytes, se puede añadir otro carácter a la cadena de modo:
t: modo texto. Normalmente...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Bachiller
  • Bachiller
  • Bachiller
  • Bachiller
  • Bachiller
  • Bachiller
  • Bachiller
  • Bachiller

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS