buongiorno avrei un paio di problemini con questo codice:
codice:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

typedef struct{
	float peso;
	char note[100];
	char data[20];
} stat;


void main(){
	FILE *fp;
	stat dati;
	printf("inserisci data-->");
	fgets(dati.data, 20, stdin);
	printf("inserisci peso-->");
	scanf("%f",&dati.peso);
	printf("note?\n");
	fgets(dati.note, 100, stdin);
	if(!(fp=fopen("./Registro","w+")))
		printf("errore apertura registro.");
	else{
		fwrite(&dati.data, sizeof(char), 20, fp);
		fwrite("\n", sizeof(char), 1, fp);
		fwrite(&dati.peso, sizeof(float), 5, fp);
		fwrite("\n", sizeof(char), 1, fp);
		fwrite(&dati.note, sizeof(char), 100, fp);
		fwrite("\n", sizeof(char), 1, fp);
	}
}
non mi da la possibilità di inserire dati nella seconda fgets.
Nella parte finale delle fwrite, verificando aprendo il file registro, mi scrive correttamente solo dati.data e sto cercando di capirne il perchè.
Potreste illuminarmi con questi 2 dubbi?