Salve ragazzi..

Come al solito ho bisogno del vostro aiuto...



Ho un programma che deve creare un file in cui scrivere determinati dati che sono..3 stringhe e un intero..



Il problema è che...La seconda stringa non me la scrive...Vi abbozzo la parte di codice utile

puts("Inserire il Nome dell'impiegato: ");
fflush(stdin);
gets(Nome);
puts("Inserire il Cognome dell'impiegato: ");
fflush(stdin);
gets(Cognome);
puts("Inserire l'ID dell'impiegato (formato cccc/cccc): ");
fflush(stdin);
gets(Codice);
puts("Inserire Il Numero di ore: ");
fflush(stdin);
scanf("%d", &ore);
fprintf(fp, "%s %s %s %d",Nome, Cognome, Codice, ore);

Non capisco perchè nel file alla fine risulteranno solo: Nome, Codice e le Ore di lavoro..Il cognome viene saltato...

All'inizio avevo provato ad usare fwrite..ma avevo problemi con il dato di tipo intero..

Ho provato ad usare un fprintf per ogni gets..E così funziona...Ma la stampa mi salta comunque il cognome (anche se però nel file è presente)


La stampa l'avevo fatta così:
fscanf(fp, "%s %s %s %d", Nom, Cogn, Cod, ore);
printf("\n\n\n");
printf("Nome: %s\nCognome: %s\nID: %s\nOre Lavoro: %d\n", Nom, Cogn, Cod, ore);

Dove Nom, Cogn e Cod sono dichiarati allo stesso modo di Nome, Cognome e Codice (ovviamente)..


Dov'è il mio solito errore da Novellino?


Grazie in Anticipo