Programacion C

Páginas: 7 (1604 palabras) Publicado: 18 de junio de 2012
Programación en C

Prof. Luciano Beato

Programación I

1

Programación en C
Entrada y salida por archivos

Prof. Luciano Beato

Programación I

2

Entrada y salida por archivos
FLUJOS

• Un flujo (stream) es una abstracción que se refiere a un flujo o corriente de datos que fluyen entre un origen o fuente (productor) y un destino o sumidero (consumidor). • La apertura deun archivo supone establecer la conexión del programa con el dispositivo que contiene al archivo, por el canal que comunica el archivo con el programa van a fluir las secuencias de datos. • Hay tres flujos o canales abiertos automáticamente:
extern FILE *stdin; asocia entrada estándar (teclado) con programa extern FILE *stdout;asocia salida estándar (pantalla) con programa extern FILE *stderr;Prof. Luciano Beato

Programación I

3

Entrada y salida por archivos
Puntero FILE

• En el programa el archivo tiene un nombre interno que es un puntero a una estructura predefinida (puntero a archivo). • Esta estructura contiene información sobre el archivo, tal como la dirección del buffer que utiliza, ... . • El identificador del tipo de la estructura es FILE y está declarada en elarchivo de cabecera stdio.h • Es necesario difinir un puntero a FILE por cada archivo a procesar. Mucha de las funciones para procesar archivos son del tipo FILE *, y tienen argumento(s) de ese tipo. Por ejemplo:
FILE* pf; FILE* mostrar(FILE*);

Prof. Luciano Beato

Programación I

4

Entrada y salida por archivos
Apertura de un archivo

• Para procesar un archivo la primeraoperación a realizar es abrir el archivo. • La apertura del archivo supone conectar el archivo externo con el programa, e indicar cómo va a ser tratado el archivo: binario, de caracteres ... . • La función para abrir un archivo es fopen(), el formato de llamada:
fopen(nombre_archivo, modo); nombre ≡ cadena modo ≡ cadena

identificador externo del archivo. modo de procesar el archivo.

Prof. LucianoBeato

Programación I

5

Entrada y salida por archivos
Modos de apertura de un archivo
modo
"r" "w" "a" "r+" "w+" "a+"

Significado
Abre para lectura. Abre para crear nuevo archivo(si ya existe se pierden sus datos). Abre para añadir al final. Abre archivo ya existente para modificar. Crea un archivo para escribir/leer (si ya existe se pierden los datos). Abre el archivo paramodificar al final.

Además, para indicar el tipo del archivo, de texto o binario, se utiliza la t para modo texto, la b para modo binario dentro de la cadena modo . Entonces, modos de abrir un archivo de texto:
"rt", "wt", "at", "r+t", "w+t", "a+t"

Y los modos de abrir un archivo binario:
"rb", "wb", "ab", "r+b", "w+b", "a+b"

Prof. Luciano Beato

Programación I

6

Entrada y salidapor archivos
EJEMPLO. Se abre el archivo de texto licencia.est para leer, y el archivo binario

resumen.rec para escribir.

#include #include FILE *pf1, *pf2; char org[] = "C:\LICENCIA.EST"; char dst[] = "C:\RESUMEN.REC"; pf1 = fopen(org, "rt"); pf2 = fopen(dst,"wb"); if (pf1 == NULL || pf2 == NULL) { puts("Error al abrir los archivos."); exit(1); }

Prof. Luciano Beato

Programación I7

Entrada y salida por archivos
Cierre de archivos

• Siempre que se termina de procesar un archivo, siempre que se termine la ejecución del programa los archivos abiertos hay que cerrarlos para que entre otras acciones se vuelque el buffer que utilizan. • La función fclose(puntero_file) cierra el archivo asociado al puntero_file, devuelve EOF si ha habido un error al cerrar. Porejemplo:
#include FILE *pf1, *pf2; pf1 = fopen("C:\DATOS.DAT","a+"); pf2 = fopen("C:\TEMPS.RET","b+"); fclose(pf1); fclose(pf2);

Prof. Luciano Beato

Programación I

8

Entrada y salida por archivos
Funciones putc(), fputc()
Escriben un carácter en el archivo asociada con el puntero a FILE. Devuelven el carácter escrito, o bien EOF si no puede ser escrito. Formato de llamada:
putc(c,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programacion C
  • Programacion c++
  • c# Programacion
  • Programacion En C#
  • Programacion en c
  • Programacion en c
  • Programacion en c++
  • Programacion c ++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS