ARCHIVO DE DATOS 
EN LENGUAJE C
ARCHIVOS DE DATOS EN LENGUAJE C 
Introducción 
El almacenamiento en 
variables y arreglos es 
temporal 
Existen aplicaciones que deben 
guardar grandes volúmenes de 
datos de manera permanente 
Se hace necesario el uso de 
dispositivos de 
almacenamiento secundario 
como archivo de datos
¿QUE ES UN ARCHIVO DE DATOS? 
Es una colección de registros relacionados 
entre sí con aspectos en común y organizados 
para un propósito específico, por ejemplo el 
archivo de nomina de x empresa. 
Nota: El Lenguaje C está diseñado para manejar los 
archivos de datos como secuencia (flujo) que son 
independiente del dispositivo.
¿QUE ES UN FLUJO O SECUENCIA? 
Es una abstracción que se refiere a una corriente de 
datos que fluye (viaja) entre un origen y un destino. 
Entre el origen y el destino debe existir una 
conexión por la cual circulen los datos 
Orige 
n 
Flujo de Datos Destino 
Conexión
¿QUE ES UN FLUJO O SECUENCIA? 
EJEMPLO: Cuando se realiza una función 
scanf(“%d”,&nota), se toma el valor introducido desde 
teclado (origen), se pasa al buffer stdin (conexión) y de hay 
a la memoria (destino). 
Teclado nota Memoria 
Buffer stdin
PUNTERO FILE 
Establecer un área de buffer 
Información almacenada temporalmente 
El área se establece a través de la siguiente instrucción: 
FILE *puntero_archivo;
PUNTERO FILE 
FILE *puntero_archivo; 
Donde: 
FILE, es un tipo especial de estructura que permite 
establecer el área de buffer. 
puntero_archivo, es una variable puntero, que indica el 
inicio de esta área.
APERTURA DE UN ARCHIVO DE DATOS 
Conecta el archivo físico con el programa 
La función fopen() 
fopen(nombre_archivo, modo); 
Donde: 
nombre_archivo, es una cadena de caracteres que representa el 
nombre con el cual será referenciado el archivo en el programa. 
Modo o tipo de archivo, es una cadena de caracteres que 
representa cómo será utilizado el archivo.
APERTURA DE UN ARCHIVO DE DATOS 
fopen(nombre_archivo, modo); 
El modo puede ser una de las cadenas mostradas en la tabla a 
continuación: 
Archivos Secuenciales 
MODOS DE APERTURA 
VALOR DESCRIPCIÓN 
r Abre un archivo de texto para lectura. 
w Crea un archivo de texto para escritura. 
a 
Abre un archivo de texto para añadir información al final. Sino 
existe, funciona como w. 
r+ Abre un archivo de texto para lectura / escritura. 
w+ Crea un archivo de texto para lectura / escritura. 
a+ 
Abre o Crea un archivo de texto para añadir información. al 
final. Sino existe, funciona como w+
CIERRE DE UN ARCHIVO DE DATOS 
La función fclose(), permite cerrar una 
secuencia vinculada con un archivo. 
fclose(nombre_archivo);
CREACION DE UN ARCHIVO 
 Crear el archivo usando un editor 
 Escribir un programa que introduzca información en 
la computadora 
getchar (para obtener caracteres de teclado) y putc (para 
escribir caracteres en un archivo). 
El uso de putc es el siguiente: 
putc(variable_de_tipo_caracter,puntero_al_area_de_buffer);
CREACION DE UN ARCHIVO 
Usando una orden del sistema operativo tal como type 
Usando un editor o escribiendo un programa que lea el 
contenido y lo muestre. 
Para ello se pueden utilizar las funciones getc (para leer caracteres 
de un archivo) y putchar(para escribir caracteres por pantalla). El 
uso de getc es: 
variable_de_tipo_caracter=getc (puntero_al_area_de_buffer);
CREACION DE UN ARCHIVO 
contienen sólo cadenas de caracteres pueden 
crearse y leerse 
fgets y fputs 
Tales archivos se pueden procesar usando las 
funciones fscanf y fprintf: 
fprintf(puntero_area_buffer,cadena_control,argto1,..,argton); 
fscanf(puntero_area_buffer,cadena_control,&argto1,..,&argton);
CREACION DE UN ARCHIVO 
 La función feof sirve para este propósito (válida para un 
archivo secuencial con o sin formato). 
 Esta función devuelve un valor distinto de cero (cierto) 
 si detecta una condición de fin de archivo y un valor cero 
(falso) si no se detecta.
Archivo de datos

Archivo de datos

  • 1.
    ARCHIVO DE DATOS EN LENGUAJE C
  • 2.
    ARCHIVOS DE DATOSEN LENGUAJE C Introducción El almacenamiento en variables y arreglos es temporal Existen aplicaciones que deben guardar grandes volúmenes de datos de manera permanente Se hace necesario el uso de dispositivos de almacenamiento secundario como archivo de datos
  • 3.
    ¿QUE ES UNARCHIVO DE DATOS? Es una colección de registros relacionados entre sí con aspectos en común y organizados para un propósito específico, por ejemplo el archivo de nomina de x empresa. Nota: El Lenguaje C está diseñado para manejar los archivos de datos como secuencia (flujo) que son independiente del dispositivo.
  • 4.
    ¿QUE ES UNFLUJO O SECUENCIA? Es una abstracción que se refiere a una corriente de datos que fluye (viaja) entre un origen y un destino. Entre el origen y el destino debe existir una conexión por la cual circulen los datos Orige n Flujo de Datos Destino Conexión
  • 5.
    ¿QUE ES UNFLUJO O SECUENCIA? EJEMPLO: Cuando se realiza una función scanf(“%d”,&nota), se toma el valor introducido desde teclado (origen), se pasa al buffer stdin (conexión) y de hay a la memoria (destino). Teclado nota Memoria Buffer stdin
  • 6.
    PUNTERO FILE Establecerun área de buffer Información almacenada temporalmente El área se establece a través de la siguiente instrucción: FILE *puntero_archivo;
  • 7.
    PUNTERO FILE FILE*puntero_archivo; Donde: FILE, es un tipo especial de estructura que permite establecer el área de buffer. puntero_archivo, es una variable puntero, que indica el inicio de esta área.
  • 8.
    APERTURA DE UNARCHIVO DE DATOS Conecta el archivo físico con el programa La función fopen() fopen(nombre_archivo, modo); Donde: nombre_archivo, es una cadena de caracteres que representa el nombre con el cual será referenciado el archivo en el programa. Modo o tipo de archivo, es una cadena de caracteres que representa cómo será utilizado el archivo.
  • 9.
    APERTURA DE UNARCHIVO DE DATOS fopen(nombre_archivo, modo); El modo puede ser una de las cadenas mostradas en la tabla a continuación: Archivos Secuenciales MODOS DE APERTURA VALOR DESCRIPCIÓN r Abre un archivo de texto para lectura. w Crea un archivo de texto para escritura. a Abre un archivo de texto para añadir información al final. Sino existe, funciona como w. r+ Abre un archivo de texto para lectura / escritura. w+ Crea un archivo de texto para lectura / escritura. a+ Abre o Crea un archivo de texto para añadir información. al final. Sino existe, funciona como w+
  • 10.
    CIERRE DE UNARCHIVO DE DATOS La función fclose(), permite cerrar una secuencia vinculada con un archivo. fclose(nombre_archivo);
  • 11.
    CREACION DE UNARCHIVO  Crear el archivo usando un editor  Escribir un programa que introduzca información en la computadora getchar (para obtener caracteres de teclado) y putc (para escribir caracteres en un archivo). El uso de putc es el siguiente: putc(variable_de_tipo_caracter,puntero_al_area_de_buffer);
  • 12.
    CREACION DE UNARCHIVO Usando una orden del sistema operativo tal como type Usando un editor o escribiendo un programa que lea el contenido y lo muestre. Para ello se pueden utilizar las funciones getc (para leer caracteres de un archivo) y putchar(para escribir caracteres por pantalla). El uso de getc es: variable_de_tipo_caracter=getc (puntero_al_area_de_buffer);
  • 13.
    CREACION DE UNARCHIVO contienen sólo cadenas de caracteres pueden crearse y leerse fgets y fputs Tales archivos se pueden procesar usando las funciones fscanf y fprintf: fprintf(puntero_area_buffer,cadena_control,argto1,..,argton); fscanf(puntero_area_buffer,cadena_control,&argto1,..,&argton);
  • 14.
    CREACION DE UNARCHIVO  La función feof sirve para este propósito (válida para un archivo secuencial con o sin formato).  Esta función devuelve un valor distinto de cero (cierto)  si detecta una condición de fin de archivo y un valor cero (falso) si no se detecta.