ciao, sto cominciando adesso a studiare la programmazione in C;
trovo difficoltà a scrivere/leggere il file binario che contiene dei numeri casuali interi di cui si calcola media e deviazione;
vorrei sapere qual'è il modo corretto di scrivere la richiesta:
A è il vettore di interi, deviazione e media sono 2 float precedentemente calcolati;
dati.dat è il file che viene creato e letto, ma non mi restituisce i valori attesi;
//scrivo i valori su "dati.dat"
FILE *f2;
f2=fopen("dati.dat", "ab");
/*si scrive sul file*/
if (f2){
fwrite(A,sizeof(A),n,f2);
fwrite(&media,sizeof(media),1,f2);
fwrite(&deviazione,sizeof(deviazione),1,f2);
fclose(f2);
}
else
printf("\nErrore nell'apertura del file dati.dat in fase di scrittura");
//input da "dati.dat"
printf("\n\nInput da dati.dat\n");
f2=fopen("dati.txt","rb");
if (f2){
fread(A,sizeof(A),n,f2);
printf("I numeri sul file sono:\n");
for (i=0;i<n;i++) printf(" %d ",A);
fread(&media,sizeof(media),1,f2);
printf("\nMedia: %f\n",media);
fread(&deviazione,sizeof(deviazione),1,f2);
printf("Deviazione: %f\n",deviazione);
fclose(f2);
}
else
printf("\nErrore nell'apertura del file dati.txt in fase di input");
sarei grato a chi mi volesse aiutare!
|