Archivos y Graficos en C

Sección de Acceso Rápido de Subtemas de Este Capítulo:

Archivos en C. | Funciones de Archivos| Apertura de un Archivo| Cerrar un Archivo| Gráficos en C| Modo Gráfico de un Programa| Escritura en Modo Gráfico| Escritura en Modo Texto|

Archivos en C

El Almacenamiento de datos en estructuras de datos vistas anteriormente solo se generan temporalmente, es decir, cuando termina el programa los datos se pierden. Para ello, una forma de no perderlos y recuperarlos aun cuando el programa termine es con el manejo de Archivos.

C ve cada uno de los archivos simplemente como un grupo secuenciales de bytes. Cada archivo termina con un marcador de fin de archivo o un número de bytes especificado registrado en una estructura de datos.



Top de la Pagina

Las funciones para manipular los Archivos se encuentran en el archivo de cabecera <stdio.h> y vale la pena mencionarlos:

 

Función

Descripción

fopen()

Abre un flujo

fclose()

Cierra un flujo

Putc

Escribe un carácter en un flujo

getc()

Lee un carácter desde un flujo

fputs()

Escribe una cadena en un flujo

fgets()

Obtiene una cadena de un flujo

fseek()

Salta al byte especificado en un flujo

fprintf()

Imprime datos con formato en un flujo

fscanf()

Lee datos con formato en un flujo

eof()

Devuelve verdadero o falso si se halla el fin del archivo.



Top de la Pagina

 

Los flujos dan canales de comunicación entre el archivo y el programa. Por ejemplo, el flujo de entrada estándar permite que un programa lea datos desde el teclado, el flujo de salida estándar permite que un programa imprima datos en la pantalla. Un flujo se relaciona con un archivo utilizando una operación de apertura y se desliga del archivo con una operación de cierre.

Existen 2 tipos de flujos: Texto y binarios.

El flujo de Texto se utiliza con conversiones de Caracteres. Es decir, puede no haber correspondencia entre lo que se envía al flujo y lo que se escribe en el archivo.

El flujo Binario tiene una correspondencia directa entre lo que se envía y se escribe en el archivo.

Un archivo es el grupo de información que están en una entidad física real que recibe los datos, ya sea DD o diskette.

Abrir un Archivo puede ser para varios propósitos: lectura, escritura o ambos, por lo que se utiliza la siguiente función para ello:

FILE fopen(char *f,char *modo); que es lo mismo que

fopen (Nombre del Archivo, Modo);

Los modos de Abrir al archivo se especifican en la siguiente tabla:


Acceso

Descripción.

"r"

Abre un archivo para lectura. El archivo debe de existir

"w"

Abre para escritura. Si el archivo no existe se crea, pero si existe se borra su información para crearla de nuevo.

"a"

Abre para escribir al final de el. Si el archivo no existe se crea.

"r+"

Abre para Escritura/Lectura. El archivo debe existir.

"w+"

Abre para Escritura/Lectura. Si el archivo no existe se crea, pero si existe su información se destruye para crearla de nuevo.

"a+"

Abre para escribir al final de el y leer. Si el archivo no existe se crea.

"rb"

Abre un archivo binario para lectura. El archivo debe existir.

"wb"

Abre un archivo binario para escritura. Si el archivo no existe se crea, pero si existe su información se destruye para crearla de nuevo.

"ab"

Se abre un archivo binario para escribir al final de el. Si el archivo no existe se crea.

"rb+"

Abre un archivo binario para lectura/Escritura. El archivo debe existir

"wb+"

Abre un archivo binario para lectura/escritura. Si el archivo no existe se crea, pero si existe su información se destruye para crearla de nuevo.

"ab+"

Abre un archivo binario para lectura y añadir. Si el archivo no existe se crea.



Top de la Pagina

 

 

Cerrar un Archivo después de trabajar es algo que debe de hacerse, si no se hace este se cierra automáticamente cuando finaliza el programa. Se cierra de la siguiente manera:

fclose(FILE *f)

Ejemplo de programa que Escribe y lee carácter por carácter de un archivo las instrucciones usadas son putc y getc. Observe el manejo de fopen y fclose en los siguientes ejemplos.

Int putc(int c, FILE*f); Escribe el carácter c en un archivo apuntado por f

Int getc(FILE *f); Devuelve el carácter leído e incrementa la posición actual del indicador del archivo, si se detecta el fin del archivo se devuelve EOF.

Ejemplo en el amnejo de Archivos
Ejemplo en el manejo de Archivos
Ejemplo en el Manejo de Archivos

FILE *apuntador establece que "apuntador" es un apuntador a la estructura FILE. La forma de Escribir y leer la información por medio de strings es por medio de las instrucciones fgets y fputs. Int fputs(char *cad, FILE *f);Escribe una cadena de caracteres aun archivo apuntado por f. Int fgets(char *cad, int n, FILE *f); Lee una cadena de Caracteres.

Ejemplo en el manejo de Archivos

Las instrucciones fread y fwrite se utilizan en archivos en el que se utilizan estructuras para definir la longitud de cada record. Size_t fwrite(void *buffer,size_t num_bytes,size_t n, FILE *f); Escribe n registros de longitud num_bytes desde la memoria apuntada por buffer al archivo f. Size_t fread(void *buffer,size_t num_bytes,size_t n, FILE *f); Lee n registros de num_bytes en la memoria apuntada hacia buffer desde el archivo f.

Ejemplo de manejo de Archivos
Ejemplo en el manejo de Archivos

Top de la Pagina

Gráficos en C

Las funciones que llevan acabo los gráficos en C es permitir generar dibujos y presentaciones de los programas en general (es decir, la forma en que lucen al usuario). Las funciones de salida dependen del adaptador y del monitor que se este utilizando. El controlador seleccionado se carga desde el disco durante la inicialización de la biblioteca de gráficos llamado initgraph(), y se necesita incluir la librería #include<graphics.h>



Top de la Pagina

Para Activar el Modo Gráfico un Programa, este debe de empezar llamando a la función initgraph(), que inicializa el paquete de gráficos BGI.

Void far initgraph(far *controlador, int far *modo, char far *camino)

Se carga en la memoria el controlador de gráficos correspondiente al numero determinado por el controlador. El parámetro modo apunta a un entero que especifica el modo de vídeo que van a usar las funciones de gráficos. El parámetro camino especifica el directorio donde se encuentra el controlador. Si no se especifica se busca en el directorio actual. Los archivos BGI deben de estar disponibles en el sistema ya que contienen los controladores graficos, sin embargo no es necesario preocuparse por el nombre real del archivo, ya que el controlador queda especificado solamewnte con su número, para ello graphics.h tiene varias macros para esto:

Macro

Equivale a...

DETECT

0

CGA

1

MCGA

2

EGA64

4

EGAMONO

5

IBM8514

6

HERCMONO

7

ATT400

8

VGA

9

PC3270

10

Al usar DETECT, initgraph() detecta automáticamente el tipo de HW de vídeo presente en el sistema y selecciona el modo de vídeo con la resolución adecuada.

Ejemplo de una función que Inicializa Gráficos.

Para Desactivar el modo gráfico del programa se usa la función void closegraph(void) que implica la devolución al sistema de la memoria que se utilizaba para tener los controladores y las fuentes gráficas en uso.



Top de la Pagina

La Escritura en Modo Gráfico se puede llevar acabo con las funciones especiales para ello:

Void far outtext(char far *cadena de texto );

Muestra en una pantalla en modo gráfico una cadena de texto en la posición actual (en los modos gráficos no existe un cursor visible, pero la posición actual se conserva como si existiera uno invisible).

Void far outtextxy(int x,int y, char far *cad)

Escribe un texto en la posición determinada por las coordenadas x,y en la ventana gráfica.

Para Cambiar el tipo de letra se usa la función:

Void far settextstyle(int fuente, int direccion, int tamaño_car);

Establece la fuente activa que usaran las funciones de escritura de texto grafico, tambien se establece la dirección y el tamaño de los caracteres. El parametro fuente determina el tipo de fuente que se va a utilizar. Fuente puede tomar algunos de los siguientes valores:

 

MACRO

VALOR

TIPO FUENTE

DEFAULT_FONT

0

Mapa de bits 8x8.

TRIPLEX_FONT

1

Fuente trazada triple.

SMALL_FONT

2

Fuente trazada pequeña.

SANS_SERIF_FONT

3

Fuente trazada sans serif.

GOTHIC_FONT

4

Fuente trazada gótica.

El parámetro dirección refiere a la forma de desplegarse, ya sea de izquierda a derecha o de arriba hacia abajo, se determina mediante el valor HORIZ_DIR (0) o VERT_DIR (1).

El parámetro tamaño es un multiplicador que aumenta el tamaño de los caracteres. Puede tomar valores de 0 a 10.

Cabe mencionar que las coordenadas de pantalla modo texto y gráfico cambian de la siguiente manera:

Modo Gráfico.

Modo Texto.

Así que tome en cuenta estas gráficas para modelar sus coordenadas al momento de escribir textos.



Top de la Pagina


Examen!

Si has Estudiado Bien el Capitulo Click Aqui para hacer el Examen 5


Glosario del Tutorial

¿No Entiendes Bien Algún Concepto?... Consultalo!


Busqueda en el Tutorial

¿Deseas Encontrar Algo Especifico?...Encuentralo!

 

Ejemplos de Gráficos y de Archivos.


Este tutorial desarrolla al 100% sus Aplicaciones con un Navegador en 800x600

OPCIÓN ALTERNA:
Introducción@Elementos de C@Apuntadores y Arreglos@Estructuras y Uniones@Bibliografía

Archivos y Gráficos@POO1@POO2@POO3@Creditos@Presentación Principal@Menú Principal


Todos los Derechos Reservados por El Instituto Tecnológico de Querétaro Mexico. "La tierra será como sean los Hombres"

Ultima Actualización: México Noviembre de 1999