SlideShare a Scribd company logo
1 of 41
Archivos de Datos en
Lenguaje C
Prof. Cesar Osorio A.
Archivos de Datos en
Lenguaje C
El almacenamiento en
variables y arreglos es
temporal
Introducción
Existen aplicaciones
que deben guardar
grandes volúmenes de
datos de manera
permanente
Se hace necesario el
uso de dispositivos de
almacenamiento
secundario como archivos
de datos
Archivos de Datos en
Lenguaje C
Desarrollar programas en lenguaje
C para el procesamiento de
transacciones de archivos de datos
Objetivo General
Archivos de Datos en
Lenguaje C
1. Aprender a crear, leer, escribir y actualizar
archivos de datos en C.
2. Familiarizarse con el procesamiento de
Archivos Secuenciales
3. Familiarizarse con el procesamiento de
Archivos Binarios
4. Construir programas para el procesamiento
de transacciones de archivos secuenciales y
binarios
Objetivos Específicos
¿Qué 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.
Ejemplo:
El archivo de nómina del
personal docente del IUT-
Cumaná.
¿Qué es un Archivo de Datos?
Estructura diseñada para contener datos.
Dichos datos están organizados de tal modo
que puedan ser recuperados, actualizados o
borrados y almacenados nuevamente con
todos los cambios realizados.
Nota: Lenguaje C esta diseñado para manejar los
archivos de datos como secuencia (flujo) que son
independiente del dispositivo.
¿Qué 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
Origen DestinoFlujo de Datos
Conexión
¿Qué 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 Memorianota
Buffer stdin
Tipos de Secuencias en C
Secuencias
Texto Binarias
Conjunto de caracteres
colocados uno tras otro
organizados en líneas
terminadas por el carácter
salto de línea.
Conjunto bytes uno
tras otro con
correspondencia una a uno
con los del dispositivo.
Tipos de Archivos en C
Archivos
Secuenciales
(Texto)
Binarios
(Registro)
Son secuencia de
caracteres.
Son secuencia de ceros
y unos.
Nota: Lenguaje C, realiza el acceso a los archivos a
través de un buffer intermedio.
Puntero FILE
Nota: La primera operación a realizar antes de procesar
archivos es establecer un área de buffer, donde la
información se almacena temporalmente mientras se
esta transfiriendo entre la memoria del computador y
el archivo de datos.
El área se establece a través de la siguiente
instrucción:
FILE *puntero_archivo;
Puntero FILE
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.
FILE *puntero_archivo;
Apertura de un Archivo de Datos
Nota: La segunda operación a realizar antes de
procesar archivos es abrir el archivo. La apertura del
archivo supone conectar el archivo físico (externo) con
el programa e indicar como va a ser tratado.
La función fopen(), permite abrir una secuencia para
que pueda ser utilizada y vinculada con un archivo. Esta
función devuelve NULL en caso de algún error.
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,es una cadena de caracteres que representa
cómo será utilizado el archivo.
fopen(nombre_archivo, modo);
Apertura de un Archivo de
Datos
El modo puede ser una de las cadenas mostradas en
la tabla a continuación:
Archivos Secuenciales
fopen(nombre_archivo, modo);
Apertura de un Archivo de
Datos
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+
El modo puede ser una de las cadenas mostradas en
la tabla a continuación:
Archivos Binarios
fopen(nombre_archivo, modo);
Apertura de un Archivo de
Datos
MODOS DE APERTURA
VALOR DESCRIPCIÓN
rb Abre un archivo binario para lectura.
wb Crea un archivo binario para escritura.
ab
Abre un archivo de binario para añadir información al final. Sino existe, funciona
como w.
r+b Abre un archivo binario para lectura / escritura.
w+b Crea un archivo binario para lectura / escritura.
a+b
Abre o Crea un archivo binario para añadir información. al final. Sino existe,
funciona como w+b
Cierre de un Archivo de Datos
Nota: Una vez terminadas las operaciones de escritura y
lectura en un archivo hay que cerrar la secuencia.
La función fclose(), permite cerrar una
secuencia vinculada con un archivo.
fclose(nombre_archivo);
Cierre de un Archivo de Datos
También puede emplearse la función
fcloseall(), que permite cerrar todas las
secuencia vinculada con todos los archivo que se
encuentran abiertos.
fcloseall();
Nota: ambas funciones escriben la información que
todavía se encuentra en el buffer y cierra el (los)
archivos (s) a nivel de MS-DOS. La cabecera utilizada
es <stdio.h>
Apertura y Cierre de un Archivo de Datos
Ejemplo:
#include <stdio.h>
void main(void){
FILE *punt_fich;
clrscr();
if((punt_fich=fopen("hla.txt","a"))==NULL){
printf("Error en la apertura");
exit(0);
}
.
.
operaciones lectura/escritura
.
.
fclose(punt_fich);
}
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
Función fputc/putc:
Escribe un carácter en el archivo abierto por el
puntero que se pone como parámetro.
Si todo se produce correctamente la función devuelve
el propio carácter, si hay algún error devuelve EOF.
La cabecera que utiliza es <stdio.h>
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
Función fputc/putc:
La sintaxis para estas funciones es la siguiente:
fputc(variable_char,puntero_archivo);
fputc(‘carácter’,puntero_archivo);
putc(variable_char,puntero_archivo);
putc(‘carácter’,puntero_archivo);
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
Función fputs
Escribe el contenido de la cadena puesta como primer
parámetro de la función. El carácter nulo no se escribe
en el fichero.
Si se produce algún error devuelve EOF y si todo va
bien devuelve un valor no negativo.
La cabecera que utiliza es <stdio.h>
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
Función fputs:
La sintaxis para estas función es la siguiente:
fputs(variable_cadena,puntero_archivo);
fputs(“texto”,puntero_archivo);
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
Función fprintf
Escribe en el fichero cualquier tipo de valor, cadenas,
números y caracteres. Esta función tiene el mismo
formato que printf.
Hay que indicarle el puntero, el identificador de
formato y nombre de la variables o variables a escribir.
La cabecera que utiliza es <stdio.h>
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
Función fprintf:
La sintaxis para estas función es la siguiente:
fprintf(puntero_archivo,“texto”);
fprintf(puntero_archivo“identificador”,var);
fprintf(puntero_arc,“ident(es)_formato”,variable(s)) ;
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
#include <stdio.h>
#include <string.h>
void letra(void);
void frase(void);
FILE *punt_fich;
void main(void){
int opt;
if((punt_fich=fopen("hla.txt",“a"))==NULL){
printf("Error en la apertura");
exit(0);
}
printf("1.INTRODUCIR LETRA A LETRAn");
printf("2.INTRODUCIR CADENA A CADENAnn");
printf("Elegir opcion: ");
scanf("%d",&opt);
fflush(stdin);
clrscr();
switch(opt){
case 1:
letra();
break;
case 2:
frase();
break;
}
fclose(punt_fich);
}
Funciones para la ESCRITURA de caracteres y cadenas en
archivos SECUENCIALES
void letra(void){
char t;
do{
printf(":");
t=getchar();
fputc(t,punt_fich);
fflush(stdin);
}while(strcmp(t,"$"));
}
void frase(void){
char *frase;
do{
printf(":");
gets(frase);
fprintf(punt_fich,"%sn",frase);
// fputs(frase,punt_fich);
fflush(stdin);
}while(strcmp(frase,"$"));
}
Funciones para la LECTURA de caracteres y cadenas en archivos
SECUENCIALES
Función fgetc/fget
Devuelve el carácter leído del fichero e incrementa el
indicador de posición del archivo. Todos los valores que
lee los transforma a carácter.
Si se llega al final del fichero la función devuelve
EOF.
La cabecera que utiliza es <stdio.h>
Funciones para la LECTURA de caracteres y cadenas en archivos
SECUENCIALES
Función fgetc/fget
La sintaxis para estas función es la siguiente:
var_char = fgetc(puntero_archivo);
var_char = getc(puntero_archivo);
Funciones para la LECTURA de caracteres y cadenas en archivos
SECUENCIALES
Función fgets:
Lee un determinado número de caracteres de un
archivo y los pasa a una variable de tipo cadena.
Lee caracteres hasta que encuentra un salto de línea,
un EOF o la longitud especificada en la función.
Si se produce un error devuelve un puntero NULL.
La cabecera que utiliza es <stdio.h>
Funciones para la LECTURA de caracteres y cadenas en archivos
SECUENCIALES
Función fgets
La sintaxis para estas función es la siguiente:
fgets(variable_cadena,tamaño,puntero_archivo);
Funciones para la LECTURA de caracteres y cadenas en archivos
SECUENCIALES
#include <stdio.h>
void letra(void);
void frase(void);
FILE *punt_fich;
void main(void){
int opt;
clrscr();
if((punt_fich=fopen("hla.txt","r"))==NULL){
printf("Error en la apertura");
exit(0);
}
printf("1.LEER LETRA A LETRAn");
printf("2.LEER CADENASnn");
printf("Elegir opcion: ");
scanf("%d",&opt);
fflush(stdin);
switch(opt){
case 1:
letra();
break;
case 2:
frase();
break;
}
getch();
fclose(punt_fich);
}
Funciones para la LECTURA de caracteres y cadenas en archivos
SECUENCIALES
void letra(void){
char t=0;
do{
t=getc(punt_fich);
printf("%c",t);
}while(t!=EOF);
}
void frase(void){
char frase[31];
fgets(frase,30,punt_fich);
printf("%s",frase);
}
Funciones para la ESCRITURA de caracteres y cadenas en
archivos BINARIOS
Función fwrite:
Escribe los datos de una estructura a un fichero
binario e incrementa la posición del archivo en el
número de caracteres escritos.
La cabecera que utiliza es <stdio.h>
La sintaxis para estas función es la siguiente:
fwrite(&eti_estru,tamaño_estru,nº_reg,punter_arc);
Funciones para la ESCRITURA de caracteres y cadenas en
archivos BINARIOS
Función fread:
Lee registros de un fichero binario, cada uno del
tamaño especificado en la función y los sitúa en la
estructura indicada en primer termino de la función.
Además de leer los registros incrementa la posición
del fichero.
La cabecera que utiliza es <stdio.h>
Funciones para la ESCRITURA de caracteres y cadenas en
archivos BINARIOS
Función fread:
La sintaxis para estas función es la siguiente:
fread(&eti_estru,tamaño_estru,nº_reg,punter_arc);
Funciones para la LECTURA/ESCRITURA de caracteres y
cadenas en archivos BINARIOS
#include<stdio.h>
#include<ctype.h>
void altas(void);
void muestra(void);
FILE *fich;
struct ficha{
int código;
char nombre[25];
char direcion[40];
int edad;
}cliente;
Funciones para la LECTURA/ESCRITURA de caracteres y
cadenas en archivos BINARIOS
void main(void){
char opcion;
if((fich=fopen("gestion.dat","a+b"))==NULL){
printf("Error al crear fichero");
exit(0);
}
do{
clrscr();
printf("Altasn");
printf("Consultan");
printf("Salirnn");
printf("Elegir opcion: ");
scanf("%c",&opcion);
fflush(stdin);
switch(toupper(opcion)){
case 'A':
altas();
break;
case 'C':
muestra();
break;
}
}while(toupper(opcion)!='S');
fclose(fich);
}
Funciones para la LECTURA/ESCRITURA de caracteres y
cadenas en archivos BINARIOS
void altas(void){
clrscr();
printf("Código: ");
scanf("%d",&cliente.codigo);
fflush(stdin);
printf("Nombre: ");
gets(cliente.nombre);
fflush(stdin);
printf("Direccion: ");
gets(cliente.direcion);
fflush(stdin);
printf("Edad: ");
scanf("%d",&cliente.edad);
fflush(stdin);
fwrite(&cliente,sizeof(cliente),1,fich);
}
Funciones para la LECTURA/ESCRITURA de caracteres y
cadenas en archivos BINARIOS
void muestra(void){
int cod_temp;
clrscr();
rewind(fich);
printf("Código a mostrar:");
scanf("%d",&cod_temp);
while(!feof(fich)){
fread(&cliente,sizeof(cliente),1,fich);
if(cod_temp==cliente.codigo){
printf("Código: %dn",cliente.codigo);
printf("Nombre: %sn",cliente.nombre);
printf("Direc: %sn",cliente.direcion);
printf("Edad: %dn",cliente.edad);
getch();
break;
}
}
}
Gestion de archivos

More Related Content

What's hot

Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUrban Skate House
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datosLalo Osorio
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basicYesenia Bautista
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosJosé Antonio Sandoval Acosta
 
Excel: Fórmulas y Funciones
Excel: Fórmulas y FuncionesExcel: Fórmulas y Funciones
Excel: Fórmulas y FuncionesHeli Lazaro
 
Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2josegmay
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: PilaEmerson Garay
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacionFco Javier Rodriguez
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 

What's hot (20)

Io streams
Io streamsIo streams
Io streams
 
File handling in C
File handling in CFile handling in C
File handling in C
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Excel: Fórmulas y Funciones
Excel: Fórmulas y FuncionesExcel: Fórmulas y Funciones
Excel: Fórmulas y Funciones
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: Pila
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 

Viewers also liked

Viewers also liked (20)

Teoria della relatività
Teoria della relativitàTeoria della relatività
Teoria della relatività
 
Engaging pre-service teachers in the modernization of the secondary school de...
Engaging pre-service teachers in the modernization of the secondary school de...Engaging pre-service teachers in the modernization of the secondary school de...
Engaging pre-service teachers in the modernization of the secondary school de...
 
All round development
All round developmentAll round development
All round development
 
สารสนเทศ
สารสนเทศสารสนเทศ
สารสนเทศ
 
Arthritis joint pain and
Arthritis joint pain andArthritis joint pain and
Arthritis joint pain and
 
Shamelin th
Shamelin thShamelin th
Shamelin th
 
Saul Bass
Saul BassSaul Bass
Saul Bass
 
Leon
LeonLeon
Leon
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Global
GlobalGlobal
Global
 
Djsc clickers in the 21st century classroom
Djsc clickers in the 21st century classroomDjsc clickers in the 21st century classroom
Djsc clickers in the 21st century classroom
 
Importance of d and t
Importance of d and tImportance of d and t
Importance of d and t
 
Literacy assessment case study
Literacy assessment case studyLiteracy assessment case study
Literacy assessment case study
 
Plantilla de gant
Plantilla de gantPlantilla de gant
Plantilla de gant
 
D&TA Summer School Teaching for the contextual challenge
D&TA Summer School Teaching for the contextual challengeD&TA Summer School Teaching for the contextual challenge
D&TA Summer School Teaching for the contextual challenge
 
I.S.I.S. Marchesini - Sacile (PN)
I.S.I.S. Marchesini - Sacile (PN)I.S.I.S. Marchesini - Sacile (PN)
I.S.I.S. Marchesini - Sacile (PN)
 
Global
GlobalGlobal
Global
 
Keyboarding II video
Keyboarding II videoKeyboarding II video
Keyboarding II video
 
Summer Task On An Artist
Summer Task On An Artist Summer Task On An Artist
Summer Task On An Artist
 
As x like
As x likeAs x like
As x like
 

Similar to Gestion de archivos

Similar to Gestion de archivos (20)

Objetivo 01 Archivos de Texto
Objetivo 01 Archivos de TextoObjetivo 01 Archivos de Texto
Objetivo 01 Archivos de Texto
 
Archivos de datos en C
Archivos de datos en CArchivos de datos en C
Archivos de datos en C
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 
Archivo de datos
Archivo de datosArchivo de datos
Archivo de datos
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Manejo de archivos en c++
Manejo de archivos en c++Manejo de archivos en c++
Manejo de archivos en c++
 
Tarea pagweb
Tarea pagwebTarea pagweb
Tarea pagweb
 
Tema 10 www.fresymetal.com
Tema 10 www.fresymetal.comTema 10 www.fresymetal.com
Tema 10 www.fresymetal.com
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivosss
 
Manejo dearchivosc
Manejo dearchivoscManejo dearchivosc
Manejo dearchivosc
 
Archivos c
Archivos cArchivos c
Archivos c
 
Archivos c
Archivos cArchivos c
Archivos c
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
Manejo_archivos.ppt
Manejo_archivos.pptManejo_archivos.ppt
Manejo_archivos.ppt
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo C
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 
ARCHIVOS EN C+
ARCHIVOS EN  C+ARCHIVOS EN  C+
ARCHIVOS EN C+
 
Fichc
FichcFichc
Fichc
 
Grupo nro4ficheros
Grupo nro4ficherosGrupo nro4ficheros
Grupo nro4ficheros
 
Utp pti_s11_archivos
 Utp pti_s11_archivos Utp pti_s11_archivos
Utp pti_s11_archivos
 

More from Cesar Oswaldo Osorio Agualongo

More from Cesar Oswaldo Osorio Agualongo (20)

Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
 
Notas 2 do parcial
Notas 2 do parcialNotas 2 do parcial
Notas 2 do parcial
 
Repaso excel
Repaso excelRepaso excel
Repaso excel
 
Notas 2490
Notas 2490Notas 2490
Notas 2490
 
Notas 2625
Notas 2625Notas 2625
Notas 2625
 
Material iii parcial
Material iii parcialMaterial iii parcial
Material iii parcial
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Punteros y funciones
Punteros y funciones Punteros y funciones
Punteros y funciones
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Material estudio c
Material estudio cMaterial estudio c
Material estudio c
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Punteros presentacion
Punteros presentacionPunteros presentacion
Punteros presentacion
 
Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1
 
2do parcial c
2do parcial c2do parcial c
2do parcial c
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
 
Programacion semanal programacion i
Programacion semanal programacion iProgramacion semanal programacion i
Programacion semanal programacion i
 
Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016
 

Recently uploaded

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 

Recently uploaded (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 

Gestion de archivos

  • 1. Archivos de Datos en Lenguaje C Prof. Cesar Osorio A.
  • 2. Archivos de Datos en Lenguaje C El almacenamiento en variables y arreglos es temporal Introducción Existen aplicaciones que deben guardar grandes volúmenes de datos de manera permanente Se hace necesario el uso de dispositivos de almacenamiento secundario como archivos de datos
  • 3. Archivos de Datos en Lenguaje C Desarrollar programas en lenguaje C para el procesamiento de transacciones de archivos de datos Objetivo General
  • 4. Archivos de Datos en Lenguaje C 1. Aprender a crear, leer, escribir y actualizar archivos de datos en C. 2. Familiarizarse con el procesamiento de Archivos Secuenciales 3. Familiarizarse con el procesamiento de Archivos Binarios 4. Construir programas para el procesamiento de transacciones de archivos secuenciales y binarios Objetivos Específicos
  • 5. ¿Qué 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. Ejemplo: El archivo de nómina del personal docente del IUT- Cumaná.
  • 6. ¿Qué es un Archivo de Datos? Estructura diseñada para contener datos. Dichos datos están organizados de tal modo que puedan ser recuperados, actualizados o borrados y almacenados nuevamente con todos los cambios realizados. Nota: Lenguaje C esta diseñado para manejar los archivos de datos como secuencia (flujo) que son independiente del dispositivo.
  • 7. ¿Qué 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 Origen DestinoFlujo de Datos Conexión
  • 8. ¿Qué 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 Memorianota Buffer stdin
  • 9. Tipos de Secuencias en C Secuencias Texto Binarias Conjunto de caracteres colocados uno tras otro organizados en líneas terminadas por el carácter salto de línea. Conjunto bytes uno tras otro con correspondencia una a uno con los del dispositivo.
  • 10. Tipos de Archivos en C Archivos Secuenciales (Texto) Binarios (Registro) Son secuencia de caracteres. Son secuencia de ceros y unos. Nota: Lenguaje C, realiza el acceso a los archivos a través de un buffer intermedio.
  • 11. Puntero FILE Nota: La primera operación a realizar antes de procesar archivos es establecer un área de buffer, donde la información se almacena temporalmente mientras se esta transfiriendo entre la memoria del computador y el archivo de datos. El área se establece a través de la siguiente instrucción: FILE *puntero_archivo;
  • 12. Puntero FILE 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. FILE *puntero_archivo;
  • 13. Apertura de un Archivo de Datos Nota: La segunda operación a realizar antes de procesar archivos es abrir el archivo. La apertura del archivo supone conectar el archivo físico (externo) con el programa e indicar como va a ser tratado. La función fopen(), permite abrir una secuencia para que pueda ser utilizada y vinculada con un archivo. Esta función devuelve NULL en caso de algún error. fopen(nombre_archivo, modo);
  • 14. Donde: nombre_archivo, es una cadena de caracteres que representa el nombre con el cual será referenciado el archivo en el programa. modo,es una cadena de caracteres que representa cómo será utilizado el archivo. fopen(nombre_archivo, modo); Apertura de un Archivo de Datos
  • 15. El modo puede ser una de las cadenas mostradas en la tabla a continuación: Archivos Secuenciales fopen(nombre_archivo, modo); Apertura de un Archivo de Datos 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+
  • 16. El modo puede ser una de las cadenas mostradas en la tabla a continuación: Archivos Binarios fopen(nombre_archivo, modo); Apertura de un Archivo de Datos MODOS DE APERTURA VALOR DESCRIPCIÓN rb Abre un archivo binario para lectura. wb Crea un archivo binario para escritura. ab Abre un archivo de binario para añadir información al final. Sino existe, funciona como w. r+b Abre un archivo binario para lectura / escritura. w+b Crea un archivo binario para lectura / escritura. a+b Abre o Crea un archivo binario para añadir información. al final. Sino existe, funciona como w+b
  • 17. Cierre de un Archivo de Datos Nota: Una vez terminadas las operaciones de escritura y lectura en un archivo hay que cerrar la secuencia. La función fclose(), permite cerrar una secuencia vinculada con un archivo. fclose(nombre_archivo);
  • 18. Cierre de un Archivo de Datos También puede emplearse la función fcloseall(), que permite cerrar todas las secuencia vinculada con todos los archivo que se encuentran abiertos. fcloseall(); Nota: ambas funciones escriben la información que todavía se encuentra en el buffer y cierra el (los) archivos (s) a nivel de MS-DOS. La cabecera utilizada es <stdio.h>
  • 19. Apertura y Cierre de un Archivo de Datos Ejemplo: #include <stdio.h> void main(void){ FILE *punt_fich; clrscr(); if((punt_fich=fopen("hla.txt","a"))==NULL){ printf("Error en la apertura"); exit(0); } . . operaciones lectura/escritura . . fclose(punt_fich); }
  • 20. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES Función fputc/putc: Escribe un carácter en el archivo abierto por el puntero que se pone como parámetro. Si todo se produce correctamente la función devuelve el propio carácter, si hay algún error devuelve EOF. La cabecera que utiliza es <stdio.h>
  • 21. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES Función fputc/putc: La sintaxis para estas funciones es la siguiente: fputc(variable_char,puntero_archivo); fputc(‘carácter’,puntero_archivo); putc(variable_char,puntero_archivo); putc(‘carácter’,puntero_archivo);
  • 22. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES Función fputs Escribe el contenido de la cadena puesta como primer parámetro de la función. El carácter nulo no se escribe en el fichero. Si se produce algún error devuelve EOF y si todo va bien devuelve un valor no negativo. La cabecera que utiliza es <stdio.h>
  • 23. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES Función fputs: La sintaxis para estas función es la siguiente: fputs(variable_cadena,puntero_archivo); fputs(“texto”,puntero_archivo);
  • 24. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES Función fprintf Escribe en el fichero cualquier tipo de valor, cadenas, números y caracteres. Esta función tiene el mismo formato que printf. Hay que indicarle el puntero, el identificador de formato y nombre de la variables o variables a escribir. La cabecera que utiliza es <stdio.h>
  • 25. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES Función fprintf: La sintaxis para estas función es la siguiente: fprintf(puntero_archivo,“texto”); fprintf(puntero_archivo“identificador”,var); fprintf(puntero_arc,“ident(es)_formato”,variable(s)) ;
  • 26. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES #include <stdio.h> #include <string.h> void letra(void); void frase(void); FILE *punt_fich; void main(void){ int opt; if((punt_fich=fopen("hla.txt",“a"))==NULL){ printf("Error en la apertura"); exit(0); } printf("1.INTRODUCIR LETRA A LETRAn"); printf("2.INTRODUCIR CADENA A CADENAnn"); printf("Elegir opcion: "); scanf("%d",&opt); fflush(stdin); clrscr(); switch(opt){ case 1: letra(); break; case 2: frase(); break; } fclose(punt_fich); }
  • 27. Funciones para la ESCRITURA de caracteres y cadenas en archivos SECUENCIALES void letra(void){ char t; do{ printf(":"); t=getchar(); fputc(t,punt_fich); fflush(stdin); }while(strcmp(t,"$")); } void frase(void){ char *frase; do{ printf(":"); gets(frase); fprintf(punt_fich,"%sn",frase); // fputs(frase,punt_fich); fflush(stdin); }while(strcmp(frase,"$")); }
  • 28. Funciones para la LECTURA de caracteres y cadenas en archivos SECUENCIALES Función fgetc/fget Devuelve el carácter leído del fichero e incrementa el indicador de posición del archivo. Todos los valores que lee los transforma a carácter. Si se llega al final del fichero la función devuelve EOF. La cabecera que utiliza es <stdio.h>
  • 29. Funciones para la LECTURA de caracteres y cadenas en archivos SECUENCIALES Función fgetc/fget La sintaxis para estas función es la siguiente: var_char = fgetc(puntero_archivo); var_char = getc(puntero_archivo);
  • 30. Funciones para la LECTURA de caracteres y cadenas en archivos SECUENCIALES Función fgets: Lee un determinado número de caracteres de un archivo y los pasa a una variable de tipo cadena. Lee caracteres hasta que encuentra un salto de línea, un EOF o la longitud especificada en la función. Si se produce un error devuelve un puntero NULL. La cabecera que utiliza es <stdio.h>
  • 31. Funciones para la LECTURA de caracteres y cadenas en archivos SECUENCIALES Función fgets La sintaxis para estas función es la siguiente: fgets(variable_cadena,tamaño,puntero_archivo);
  • 32. Funciones para la LECTURA de caracteres y cadenas en archivos SECUENCIALES #include <stdio.h> void letra(void); void frase(void); FILE *punt_fich; void main(void){ int opt; clrscr(); if((punt_fich=fopen("hla.txt","r"))==NULL){ printf("Error en la apertura"); exit(0); } printf("1.LEER LETRA A LETRAn"); printf("2.LEER CADENASnn"); printf("Elegir opcion: "); scanf("%d",&opt); fflush(stdin); switch(opt){ case 1: letra(); break; case 2: frase(); break; } getch(); fclose(punt_fich); }
  • 33. Funciones para la LECTURA de caracteres y cadenas en archivos SECUENCIALES void letra(void){ char t=0; do{ t=getc(punt_fich); printf("%c",t); }while(t!=EOF); } void frase(void){ char frase[31]; fgets(frase,30,punt_fich); printf("%s",frase); }
  • 34. Funciones para la ESCRITURA de caracteres y cadenas en archivos BINARIOS Función fwrite: Escribe los datos de una estructura a un fichero binario e incrementa la posición del archivo en el número de caracteres escritos. La cabecera que utiliza es <stdio.h> La sintaxis para estas función es la siguiente: fwrite(&eti_estru,tamaño_estru,nº_reg,punter_arc);
  • 35. Funciones para la ESCRITURA de caracteres y cadenas en archivos BINARIOS Función fread: Lee registros de un fichero binario, cada uno del tamaño especificado en la función y los sitúa en la estructura indicada en primer termino de la función. Además de leer los registros incrementa la posición del fichero. La cabecera que utiliza es <stdio.h>
  • 36. Funciones para la ESCRITURA de caracteres y cadenas en archivos BINARIOS Función fread: La sintaxis para estas función es la siguiente: fread(&eti_estru,tamaño_estru,nº_reg,punter_arc);
  • 37. Funciones para la LECTURA/ESCRITURA de caracteres y cadenas en archivos BINARIOS #include<stdio.h> #include<ctype.h> void altas(void); void muestra(void); FILE *fich; struct ficha{ int código; char nombre[25]; char direcion[40]; int edad; }cliente;
  • 38. Funciones para la LECTURA/ESCRITURA de caracteres y cadenas en archivos BINARIOS void main(void){ char opcion; if((fich=fopen("gestion.dat","a+b"))==NULL){ printf("Error al crear fichero"); exit(0); } do{ clrscr(); printf("Altasn"); printf("Consultan"); printf("Salirnn"); printf("Elegir opcion: "); scanf("%c",&opcion); fflush(stdin); switch(toupper(opcion)){ case 'A': altas(); break; case 'C': muestra(); break; } }while(toupper(opcion)!='S'); fclose(fich); }
  • 39. Funciones para la LECTURA/ESCRITURA de caracteres y cadenas en archivos BINARIOS void altas(void){ clrscr(); printf("Código: "); scanf("%d",&cliente.codigo); fflush(stdin); printf("Nombre: "); gets(cliente.nombre); fflush(stdin); printf("Direccion: "); gets(cliente.direcion); fflush(stdin); printf("Edad: "); scanf("%d",&cliente.edad); fflush(stdin); fwrite(&cliente,sizeof(cliente),1,fich); }
  • 40. Funciones para la LECTURA/ESCRITURA de caracteres y cadenas en archivos BINARIOS void muestra(void){ int cod_temp; clrscr(); rewind(fich); printf("Código a mostrar:"); scanf("%d",&cod_temp); while(!feof(fich)){ fread(&cliente,sizeof(cliente),1,fich); if(cod_temp==cliente.codigo){ printf("Código: %dn",cliente.codigo); printf("Nombre: %sn",cliente.nombre); printf("Direc: %sn",cliente.direcion); printf("Edad: %dn",cliente.edad); getch(); break; } } }