ho modificato il codice in modo che i campi della struct vengano inseriti da tastiera:
# include <stdio.h>
struct record{
char nome[10];
char cognome[20];
};
int main(){
struct record p;
printf(" INSERISCI IL NOME : ");
scanf("%s /n",p.nome);
printf(" INSERISCI IL COGNOME : ");
scanf("%s /n",p.cognome);
FILE * f;
f=fopen("cr7.dat","wb");
fwrite(&p,sizeof(struct record),1,f);
fclose(f); // chiudo il file
f=fopen("cr7.dat","rb");
struct record d;
fread(&d ,sizeof(struct record),1,f);
printf("%s\n",d.nome);
printf("%s\n",d.cognome);
fclose(f);
}
però si verifica un problema xchè quando viene dato in output la stringa "INSERISCI IL NOME :"
inserendo una stringa e premendo invio invece di dare in output la stringa " INSERISCI IL COGNOME : " va a capo e da in output la seconda stringa solo se almeno viene inserito un altro carattere e viene premuto invio, qualkuno può spiegarmi xchè avviene questo??

Rispondi quotando