¿Qué Son?
Los datos que hemos tratado hasta el momento han residido en
la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan
normalmente en un dispositivo de memoria secundaria. Estas colecciones de datos
se conocen como archivos (antiguamente ficheros). Un archivo es un conjunto de
datos estructurados en una colección de entidades elementales o básicas
denominadas registros que son de igual tipo y constan a su vez de diferentes
entidades de nivel más 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 líneas terminadas por un carácter de nueva línea.
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 tamaño 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 traducción de caracteres. Además, el
número de bytes escritos (leídos) será el mismo que los encontrados en el
dispositivo externo. Ejemplos de estos archivos son Fotografías, imágenes,
texto con formatos, archivos ejecutables (aplicaciones), etc.
En c, un archivo
es un concepto lógico que puede aplicarse a muchas cosas desde archivos de
disco hasta terminales o una impresora. Se asocia una secuencia con un archivo
especifico realizando una operación de apertura. Una vez que el archivo está
abierto, la información puede ser intercambiada entre este y el programa. Se
puede conseguir la entrada y la salida de datos a un archivo a través 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 librería STDIO.H. Observe que la mayoría
de las funciones comienzan con la letra “F”, esto es un vestigio del estándar C
de Unix.
El puntero a un archivo:
El puntero a un archivo es el hilo
común que unifica el sistema de E/S con buffer. Un puntero a un archivo es un
puntero a una información que define varias cosas sobre él, incluyendo el
nombre, el estado y la posición actual del archivo. En esencia identifica un
archivo especifico 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 función 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
especificación del directorio. La cadena a la que apunta modo determina como se
abre el archivo. La siguiente tabla muestra los valores permitidos para modo.
Cierre de un archivo
La función fclose():Cierra una secuencia que fue abierta
mediante una llamada a fopen(). Escribe toda la información que todavía 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 pérdida de datos, destrucción de
archivos y posibles errores intermitentes en el programa. El prototipo de esta
función 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 operación
de cierre ha tenido éxito. Generalmente, esta función solo falla cuando un
disco se ha retirado antes de tiempo o cuando no queda espacio libre en el
mismo.
El código anterior realiza la apertura de una archivo de texto, y permite escribir y modificar su nombre y edad respectivamente.
SI DESEA CONOCER MAS SOBRE ESTE TEMA, INGRESE A ESTE ENLACE
SI DESEA CONOCER MAS SOBRE ESTE TEMA, INGRESE A ESTE ENLACE
No hay comentarios:
Publicar un comentario