Page 615 - Informatica dalla A a Z
P. 615
int reddito;
}persona;
main()
{ FILE *fp;
persona p;
fp = fopen("archivio.dat","rb");
while( fread(fp, sizeof(persona),i, fp)>0)
printf("%s%s%ìd",p.nome,p.cognome,p.reddito);
fclose(fp);
}
Esercizio: file di record.
scrivere il contenuto di un vettore di record (inizializzato con dati forniti da stdin) in un file
binario dato da input.
Soluzione:
#include <stdio.h>
#include <ctype.h>
#define DIM 5
typedef struct { char nome[15];
char cognome[15];
char via[10];
int eta;
} Persona;
Persona P[DIM];
int main()
{ int crea_vettore(Persona V[], int dim);
int i, n;
FILE *file;
char nome[30];
gets(nome);
n=crea_vettore(P,DIM);
if ((file=fopen(nome, "wb"))==NULL)
{ printf("impossibile aprire file%s\n", nome);
return 1;
}
fwrite(P,sizeof(Persona),n,file);
fclose(file);
}
int crea_vettore(Persona P[], int dim)
{ int i=0;
char s[80];
611