Universidad Nacional Experimental Politcnica De La Fuerza Armada Nacional Bolivariana
Archivo
Mayo Del 2014 NDICE
INTRODUCCIN3 Archivo4 Tipos de archivos4 Manejo de archivo5 El puntero a un archivo6 Apertura de un archivo6,7,8 Cierre de un archivo8 Modo de texto8,10 Modo Binario10,11 Manejo de desplazamiento de archive12 CONCLUCIN13 BIBLIOGRAFIA..14
INTRODUCCIN
Un archivo es un conjunto de datos estructurados en una coleccin de entidades elementales o bsicas denominadas registros que son de igual tipo y constan a su vez de diferentes entidades de nivel ms bajos denominadas campos. Hay dos tipos de archivos, archivos de texto y archivos binarios. Un archivo de texto es una secuencia de caracteres organizadas en lneas terminadas por un carcter de nueva lnea. En estos archivos se pueden almacenar canciones, fuentes de programas, base de datos simples, etc. Los archivos de texto se caracterizan por ser planos, es decir, todas las letras tienen el mismo formato y no hay palabras subrayadas, en negrita, o letras de distinto tamao o ancho. Un archivo binario es una secuencia de bytes que tienen una correspondencia uno a uno con un dispositivo externo. As que no tendr lugar ninguna traduccin de caracteres. Adems, el nmero de bytes escritos (ledos) ser el mismo que los encontrados en el dispositivo externo. Ejemplos de estos archivos son Fotografas, imgenes, texto con formatos, archivos ejecutables (aplicaciones), etc. En c, un archivo es un concepto lgico que puede aplicarse a muchas cosas desde archivos de disco hasta terminales o una impresora. Se asocia una secuencia con un archivo especfico realizando una operacin de apertura. Una vez que el archivo est abierto, la informacin puede ser intercambiada entre este y el programa. La solucin para hacer que los datos no se pierdan es almacenarlos en un fichero o archivo. Los archivos son medios que facilita el lenguaje para almacenar los datos en forma permanente, normalmente en los dispositivos de almacenamiento estndar. Desde el punto de vista informtico, un fichero es una coleccin de informacin que almacenamos en un soporte magntico para poder manipularla en cualquier momento. Esta informacin se almacena como un conjunto de registros. 4
Archivo
Un archivo es un conjunto de bits almacenado en un dispositivo de memoria secundaria, el cul puede ser almacenado con un conjunto de propiedades y recuperado de la misma manera por el sistema operativo para que un programa tenga acceso a este. Un archivo es identificado por un nombre y la descripcin de la carpeta o directorio que lo contiene. Los archivos digitales se llaman as porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional.
Tipos de archivos
Hay dos tipos de archivos, archivos de texto y archivos binarios. Un archivo de texto es una secuencia de carcter es organizadas en lneas terminadas por un carcter de nueva lnea. En estos archivos se pueden almacenar, fuentes de programas, texto plano, base de datos simples, etc. Los archivos de texto se caracterizan por ser planos, es decir, solo contienen caracteres de texto. Un archivo binario es una secuencia de bytes que tienen una correspondencia uno a uno con un dispositivo externo. As que no tendr lugar ninguna traduccin de caracteres. El nmero de bytes escritos (ledos) ser el mismo que los encontrados en el dispositivo externo. E.g de estos archivos son Fotografas, imgenes, texto con formatos, archivos ejecutables (aplicaciones), etc.
5
Manejo de archivo Se puede conseguir la entrada y la salida de datos a un archivo a travs del uso de la biblioteca de funciones; C no tiene palabras claves que realicen las operaciones de E/S. La siguiente tabla da un breve resumen de las funciones que se pueden utilizar. Se debe incluir la librera STDIO.H. Observe que la mayora de las funciones comienzan con la letra F, esto es un vestigio del estndar C de Unix. Nombre Funcin fopen() Abre un archivo. fclose() Cierra un archivo. fgets() Lee una cadena de un archivo. fputs() Escribe una cadena en un archivo fseek() Busca un byte especfico de un archivo. fprintf() Escribe una salida con formato en el archivo. fscanf() Lee una entrada con formato desde el archivo. feof() Devuelve cierto si se llega al final del archivo. ferror() Devuelve cierto si se produce un error. rewind() Coloca el localizador de posicin del archivo al principio del mismo. remove() Borra un archivo. fflush() Vaca un archivo.
6
El puntero a un archivo
El puntero a un archivo es el hilo comn que unifica el sistema de E/S con buffer. Un puntero a un archivo es un puntero a una informacin que define varias cosas sobre l, incluyendo el nombre, el estado y la posicin actual del archivo. En esencia identifica un archivo especfico y utiliza la secuencia asociada para dirigir el funcionamiento de las funciones de E/S con buffer. Un puntero a un archivo es una variable de tipo puntero al tipo FILE que se define en STDIO.H. Un programa necesita utilizar punteros a archivos para leer o escribir en los mismos. Para obtener una variable de este tipo se utiliza una secuencia como esta: FILE *F;
Apertura de un archivo
La funcin fopen() abre una secuencia para que pueda ser utilizada y la asocia a un archivo. Su prototipo es: FILE *fopen(const char nombre_archivo, cost charmodo); Donde nombre_archivo es un puntero a una cadena de caracteres que representan un nombre valido del archivo y puede incluir una especificacin del directorio. La cadena a la que apunta modo determina como se abre el archivo. La siguiente tabla muestra los valores permitidos para modo.
7
Modo Significado r Abre un archivo de texto para lectura. w Crea un archivo de texto para escritura. a Abre un archivo de texto para aadir. rb Abre un archivo binario para lectura. wb Crea un archivo binario para escritura. ab Abre un archivo binario para aadir. r+ Abre un archivo de texto para lectura / escritura. w+ Crea un archivo de texto para lectura / escritura. a+ Aade o crea un archivo de texto para lectura / escritura. r+b Abre un archivo binario para lectura / escritura. w+b Crea un archivo binario para lectura / escritura. a+b Aade o crea un archivo binario para lectura / escritura.
La funcin fopen() devuelve un puntero a archivo. Un programa nunca debe alterar el valor de ese puntero. Si se produce un error cuando se est intentando abrir un archivo, fopen() devuelve un puntero nulo. Se puede abrir un archivo bien en modo texto o binario. En la mayora de las implementaciones, en modo texto, la secuencias de retorno de carro / salto de lnea se convierten a caracteres de salto de lnea en lectura. En la escritura, ocurre lo contrario: los caracteres de salto de lnea se convierten en salto de lnea. Estas conversiones no ocurren en archivos binarios. La macro NULL est definida en STDIO.H. Este mtodo detecto cualquier error al abrir un archivo: como por ejemplo disco lleno o protegido contra escritura antes de comenzar a escribir en l. Si se usa fopen() para abrir un archivo para escritura, entonces cualquier archivo existente con el mismo nombre se borrar y se crea uno nuevo. Si no existe un archivo con el mismo nombre, entonces se crear. Si se quiere aadir al final del archivo entonces debe usar el modo a. Si se usa a y no existe el archivo, se devolver un error. La apertura de un archivo para las operaciones de lectura requiere que exista el archivo. Si no existe, fopen() devolver un error. Finalmente, el + 8
abre un archivo para las operaciones de leer / escribir, la computadora no lo borrar si existe; sin embargo, si no existe, la computadora lo crear.
Cierre de un archivo
La funcin fclose() cierra una secuencia que fue abierta mediante una llamada a fopen(). Escribe toda la informacin que todava se encuentre en el buffer en el disco y realiza un cierre formal del archivo a nivel del sistema operativo. Un error en el cierre de una secuencia puede generar todo tipo de problemas, incluyendo la prdida de datos, destruccin de archivos y posibles errores intermitentes en el programa. El prototipo de esta funcin es: int fclose(FILE *F); Donde F es el puntero al archivo devuelto por la llamada a fopen(). Si se devuelve un valor cero significa que la operacin de cierre ha tenido xito. Generalmente, esta funcin solo falla cuando un disco se ha retirado antes de tiempo o cuando no queda espacio libre en el mismo.
9
Modo de texto
Para introducir u obtener datos en modo texto de un archivo tenemos las siguientes cuatro funciones: fprintf() fscanf() fgets() fputs() Estas funciones se comportan exactamente como prinft() y scanf(), gets() y puts() excepto que operan sobre archivo. Sus prototipos son:
Int fprintf (FILE *F, constchar*cadena_de_control,.....); int fscanf (FILE *F, constchar*cadena_de_control,.....); char*fputs (char*str, FILE *F); char*fgets(char*str, int long, FILE *F);
El operar con los archivos en modo texto facilita la comprensin de los archivos por cualquier usuario que logre abrir el archivo con otra aplicacin que permita leer el texto claro. Desgraciadamente esta es la forma ms compleja de almacenar registros e informacin as como recuperarla por parte de aplicaciones profesionales, por ello no es recomendable trabajar solo con el modo texto. El modo binario permite un almacenamiento mucho 10
ms seguro, fiable y fcil de manejar (si se disea correctamente la aplicacin).
Modo Binario
Para introducir u obtener datos en modo binario de un archivo tenemos las siguientes funciones: fread() fwrite()
fread() Esta funcin lee un bloque de una "stream" de datos. Efecta la lectura de un arreglo de elementos "count", cada uno de los cuales tiene un tamao definido por "size". Luego los guarda en el bloque de memoria especificado por "ptr". E indicador de posicin de la cadena de caracteres avanza hasta leer la totalidad de bytes. Si esto es xitos o la cantidad de bytes ledos es (size*count). size_tfread (void*ptr, size_tsize, size_tcount, FILE *archivo); 11
ptr: Puntero a un bloque de memoria con un tamao mnimo de (size*count) bytes. size: Tamao en bytes de cada elemento (de los que se van a leer). count: Nmero de elementos, los cuales tienen un tamao "size". Archivo: Puntero a FILE, que especifica el archivo de entrada.
fwrite()
Esta funcin est pensada para trabajar con registros de longitud constante y forma pareja con fread. Es capaz de escribir hacia un fichero uno o varios registros de la misma longitud almacenados a partir de una direccin de memoria determinada. El valor de retorno es el nmero de registros escritos, no el nmero de bytes. Los parmetros son: un puntero a la zona de memoria de donde se obtendrn los datos a escribir, el tamao de cada registro, el nmero de registros a escribir y un puntero FILE del fichero al que se har la escritura. size_tfwrite (void*ptr, size_ttamano,size_tcount, FILE *archivo);
12
Manejo de desplazamiento de archive
fseek()
Esta funcin est sita el puntero (cursor) de un archivo en una posicin deseada, trabaja para modo binario y texto. Int fseek (FILE *archivo, long offset, int origen); Archivo: es un puntero a la estructura del archivo Offset: es un entero largo que especifica el nmero de bytes de origen, donde se colocar el cursor. Origen: es un nmero entero que especifica la posicin de origen. Puede ser: SEEK_SET: El origen es el comienzo del archivo SEEK_CUR: El origen es la posicin actual SEEK_END: El origen es el final del archivo
13
CONCLUCIN
En todo mbito de la vida trabajamos recolectando, leyendo y analizando distintos Datos, que mediante un debido proceso y metodologa permiten alcanzar la generacin de una Informacin til, que forma parte de lo que es posteriormente conocido como Banco de Datos, siendo un objeto de consulta en todo mbito socioeconmico. Esta informacin es guardada en conjunto con el emplazamiento de un Archivo, consistiendo bsicamente en habitaciones o inclusive edificios enteros que se encargan de almacenar una gran cantidad de datos que fueron debidamente Clasificados y Ordenados, encontrndose su aplicacin por ejemplo en el Registro de las Personas, que cuentan con informacin acerca de la emisin de los Documentos de Identidad, con un vasto archivo de documentaciones relativas a su emisin. Generalmente incluyen entre sus datos Informacin Sensible, que suele estar protegida su divulgacin mediante Leyes Nacionales, mientras que por otro lado tenemos Archivos Pblicos que suelen estar relacionado a datos de Valor Histrico, como lo es en el caso de los Archivos Epistolares, o bien las distintas hemerotecas. En el mundo de la Informtica se utiliza un concepto derivado de esto, encontrndose como una forma de poder almacenar Datos Informticos que ya han sido debidamente procesados por la accin de una Unidad Central de Procesamiento y que pueden ser reutilizados en forma constante, siendo muy til en la generacin de Aplicaciones Informticas. De hecho, justamente un Software Informtico no es ms que una conjuncin de archivos que guardan una correlacin entre s para brindar una funcionalidad adicional al ordenador, teniendo cada uno de ellos distintas clasificaciones, como lo es el caso de los Archivos Ejecutables, los Documentos, los Archivos Multimedia, entre otros.
14
BIBLIOGRAFIA
Garca Badell, J. Javier. "Turbo C. Programacin en manejo de archivos". Macrobit. Joyanes Aguilar, Luis. "Problemas de Metodologa de la Programacin". McGraw Hill. 1990. Loomis, Mary E.S. Estructura de Datos y Organizacin de Archivos. Prentice Hall. Mxico. 1991. Martin, James. Organizacin de las bases de datos. Prentice Hall. 1993. Rose, Cesar E. Archivos. Organizacin y Procedimientos. Computec. 1993. Sedgewick, Robert. "Algoritmos en C++". Addison Wesley. USA. 1995. Tsai, Alice Y. H. "Sistemas de bases de datos. Administracin y uso". Prentice Hall. 1988.