il primo codice mi ha scritto correttamente i 4 record della struct guida.
Vado poi a leggerli col secondo programmino e quando li stampo con la
printf ho questo output >>>

-1076455928
0.00
[Press Enter to close window]

Cosa canno ?
Grazie.

codice:
  #include <stdio.h>

typedef struct libro
{
  char titolo[100];
  char autore[50];
  int anno_pubblicazione;
  float prezzo;
} t_libro; 

             int main() {

     t_libro guida = {"Guida al C", "Fabrizio Ciacchi", 2003, 45.2};
       FILE *stream = fopen("miof.txt","w");    
       fprintf(stream, "%s\n" "%s\n" "%d\n" "%2.2f\n", 
                guida.titolo,guida.autore,guida.anno_pubblicazione,guida.prezzo);
  
   fflush(stream);
   fclose(stream);
}


codice:
  #include <stdio.h>

typedef struct libro
{
  char titolo[100];
  char autore[50];
  int anno_pubblicazione;
  float prezzo;
} t_libro;


int main()
{

       t_libro guida  ;

      FILE *stream = fopen("miof.txt","r");

      fprintf(stream, "%s\n" "%s\n" "%d\n" "%2.2f\n",  guida.titolo,guida.autore,guida.anno_pubblicazione,guida.prezzo);

      fprintf(stream, "%s\n" "%s\n" "%d\n" "%2.2f\n", guida.titolo,guida.autore,guida.anno_pubblicazione,guida.prezzo);

   printf("%s\n" "%s\n" "%d\n" "%2.2f\n", guida.titolo,guida.autore,guida.anno_pubblicazione,guida.prezzo) ;

  
   fflush(stream);
   fclose(stream);
}