Trabajo de programacion sobre estructura de registros

Solo disponible en BuenasTareas
  • Páginas : 5 (1005 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de noviembre de 2009
Leer documento completo
Vista previa del texto
ARCHIVOS LENGUAJE C
Archivos
Archivos de Texto
Los archivos pueden almacenar todo tipo de información
Dependiendo de eso, tienen un “tipo”
En Windows, el “tipo” de un archivo esta dicho por su extensión

Los archivos tipo texto (.txt) son los más simples de todos
Sólo almacenan secuencias de caracteres
Suponga ahora el siguiente archivo shakespeare.txt:

¿Que hay en un nombre? Eso quellamamos una rosa Emanaría un olor tan dulce, aun teniendo otro nombre
Al verlo, podemos decir que es un conjunto de caracteres, y de hecho, este archivo tiene 3 líneas.
Es práctico pensar en un archivo como una estructura de dos dimensiones: líneas, cada una compuesta de un conjunto de caracteres

¿Que hay en un nombre? Eso que llamamos una rosa Emanaria un olor tan dulce, aun teniendo otronombre Estructura bidimensional: Conjunto de líneas, cada una compuesta de caracteres
En realidad son una sola secuencia de caracteres que incluyen el ‘ ’:

¿Y En C?
Un archivo se parece mucho a una cadena
Desde un programa en C se puede:
Crear archivos
Tomar datos del archivo y ponerlos en variables
Modificar archivos
Eliminar y renombrar archivos
Todas son operaciones que se manejan através de stdio.h
Para trabajar con archivos se debe:
Declarar una variable de tipo FILE * (un puntero a FILE)
Esta se debe asociar con el archivo, usando la función fopen
Se efectúan las operaciones de manejo de archivos que se desee
Cuando se ha terminado de trabajar con el archivo se utiliza fclose para cerrarlo

Importante
Un puntero de tipo FILE sirve para representar a un archivo enun programa en C.
Por cada archivo con el que se desee trabajar, se declarar una variable FILE *
Si una función va a trabajar con un archivo, puede recibir una variable de tipo FILE *
La variable de tipo FILE * no sirve de nada si no se la “asocia” a un archivo a través de la función fopen:
variable de tipo FILE * = fopen (nombre de archivo, modo);

Abrir y Cerrar un Archivo
Un archivo sepuede abrir para en los siguientes modos:
Lectura: “r”
Para “tomar” datos del archivo. El archivo DEBE existir
Escritura: “w”
Para crear archivos y escribir o “mandar” datos al archivo. Si el archivo no existe, lo crea, si ya existe, lo sobre-escribe
Añadir: “a”
Para escribir o “mandar” datos a un archivo que ya existe. Si no existe, lo crea, si ya existe, los datos enviados se “añaden”infile = fopen (“shakespeare.txt”,”r”);
Si la operación de “abrir” falla, por alguna razon, fopen devuelve NULL.
if(infile == NULL) { printf(“Error al abrir el archivo ”); exit(1); } /*trabajar con el archivo*/ fclose(infile); Cuando se ha terminado de trabajar con el archivo, este se cierra con fclose. Cuando un programa termina, todos los archivos se cierran Sin embargo, es una BUENA PRACTICA deprogramación, cerrar los archivos pues al revisar el código se sabrá cuando ya no se usa mas una archivo

Archivos Estándar
stdio ofrece funciones para manipulación de E/S,
Usando los dispositivos estándar y Usando archivos
Para evitar esa diferencia en las operaciones,
stdio , trata a todos como archivos
Incluyendo a los dispositivos de E/S estándar:
Teclado y Monitor
Para representar acada “archivo de dispositivo” existen 3 identificadores especiales de tipo FILE *
stdin: dispositivo de entrada estándar (teclado)
stdout: dispositivo de salida estándar (el monitor)
stderr: dispositivo de salida de errores estándar (el monitor)
Operaciones de E/S
Las operaciones básicas son:
• Tomar (get) datos de un archivo existente: Entrada
• Poner (put) datos un archivo, seanuevo o existente: Salida
Se puede “tomar” o “poner”
1 carácter o
1 línea entera
Para esto se deben usar las funciones de stdio.h :
getc, putc
fgets, fputs
Se puede incluso tomar o leer datos usando un cierto formato:
fprintf, fscanf

E/S de Caracteres
int getc(FILE *infile);
Toma un carácter del archivo representado por infile
Devuelve el código ASCII de dicho carácter
El programa lo...
tracking img