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
   610   611   612   613   614   615   616   617   618   619   620