Ddsdsdsd

ARCHIVOS (INTRODUCCION)
Si bien es cierto que ya se pueden manejar gran cantidad de datos del mismo y diferente tipo al mismo tiempo el problema es que al terminar de ejecutarse el programa los datos se pierden. De esta situación nace el concepto de archivos que son medios que facilita el lenguaje para almacenar los datos en forma permanente, normalmente en los dispositivos de almacenamientostandar.
En general es necesario entender algunos conceptos elementales de sistemas de archivos tradicionales.
Como nota a tomar en cuenta los datos que se van almacenando en un archivo de disco, se almacenan en renglones consecutivos y cada renglón en disco, se conoce como registro del archivo, favor de no confundir el concepto de registro de archivo y registro o estructura como variable yaanalizada, son dos cosas totalmente diferentes aunque desafortunadamente se llamen igual.

Primero: Operaciones con archivos
? ESCRIBIR O GRABAR: Es la operación mas elemental con un archivo, consiste en tomar un o unos datos en variables de cualquier tipo (escalar, mezcla de datos, arreglos, estructuras) y almacenarlas en un archivo de datos en disco.
? LEER: Operación consistente en sacar losdatos del archivo en disco y mandarlos o cargar la variable respectiva

Segundo: Organización de archivos
En general existen dos tipos de archivos:
? Archivos Secuenciales.- En este caso los datos se almacenan en forma consecutiva y no es posible leer (recuerdan que significa esta operación) ningún registro (recuerdan la nota de arriba) directamente, es decir para leer el registro n se deberárecorrer o accesar los n-1 registros anteriores.
? Archivos Directos o Random.- Para este caso si se puede acceder o leer un renglón n cualquiera.

Tercero: Tipo de archivos
En general existen tantos tipos de archivos como tipos de datos existen, es decir:
El paquete standar de input/output de “C”, hace disponible 4 métodos o maneras diferentes de leer y escribir los datos a disco.
Tres deellas corresponden exactamente a lo aprendido de leer y escribir datos desde el teclado hacia la pantalla.
1.- Datos a ser grabados o leídos como un caracter a la vez, se utilizaran funciones análogas a getchar y putchar.
2.- Datos que pueden ser leídos o grabados como una string se usaran funciones análogas a gets y puts.
3.- Datos que se capturen o desplieguen con formatos parecidos a losusados por scanf y printf se usaran funciones similares, es decir, serán problemas que involucran mezclas de strings, caracteres, floats, etc.
4.- También se podrán leer y escribir datos de tipo arreglo y registros utilizando instrucciones apropiadas, en resumen:
| |caracter |string |Formateado |Registros y arreglos |
|Leer |getc() |fgets()|fscanf() |fread() |
|Escribir |putc() |fputs() |fprintf() |fwrite() |

Cuarto: Almacenamiento en archivos

? Modo Texto: en este caso los datos son almacenados usando Ascii y por tanto son plenamente visibles usando cualquier editor.
? Modo Binario: en este caso los datos son almacenados ennotación hexadecimal y por tanto se ocupa un editor binario para reconocerlos, sin embargo un archivo binario es mas compacto que un archivo texto.

Existen muchas operaciones asociadas a archivos, las mas elementales son:
1.- Creación de Archivo.- En este proceso se pretende solamente crear un archivo nuevo en disco con su nombre tipo y especialidad de almacenamiento de datos apropiado.
2.- Aperturade Archivos.- En este caso se pretende abrir un archivo ya existente en disco para procesarlo ya sea para cargar o grabar estructuras en sus registros o leer algún registro en especial para mandarlo a una variable de cualquier tipo.
No confundir creación con apertura, creación es un proceso que solo se ejecuta una sola vez en la vida de un archivo, mientras que apertura, siempre se esta…