#include <stdio.h>

int main(int argc,char *argv[]) {
    FILE *file;

    // Dati da scrivere nel file binario
    int datiIntero=12345;
    float datiFloat=3.14159;    
    char datiStringa[20]="Ciao mondo!";

    // Apertura file in modalita' scrittura binaria
    file=fopen("filebinario.bin","wb");
    if(file==NULL) {
        perror("Errore apertura file in scrittura");
        return -1;
    }   

    // Scrittura dati nel file
    fwrite(&datiIntero,sizeof(int),1,file);
    fwrite(&datiFloat,sizeof(float),1,file);    
    fwrite(datiStringa,sizeof(char),20,file);
    
    // Stampa dati scritti
    printf("Intero scritto: %d\n",datiIntero);
    printf("Float scritto: %.5f\n",datiFloat);
    printf("Stringa scritta: %s\n",datiStringa);
    fclose(file);
    
    // Apertura file in modalita' lettura binaria
    file=fopen("filebinario.bin","rb");
    if(file==NULL) {
        perror("Errore apertura file in lettura");
        return -1;
    }   
    printf("\n------------------------------------\n");
    // Lettura dati dal file
    int letturaIntero;  
    float letturaFloat;
    char letturaStringa[20];
    fread(&letturaIntero,sizeof(int),1,file);
    fread(&letturaFloat,sizeof(float),1,file);  
    fread(letturaStringa,sizeof(char),20,file);
    fclose(file);
    
    // Stampa dati letti
    printf("Intero letto: %d\n",letturaIntero);
    printf("Float letto: %.5f\n",letturaFloat);
    printf("Stringa letta: %s\n",letturaStringa);
    return 0;
}