Ciao, ho un problema a leggere delle stringhe immesse da tastiera conteneti degli spazi vuoti... Ciò che mi serve è memorizzare delle stringhe in dei nodi di una linked list.. posto le dichiarazioni e una parte della funzione in questione
typedef char data[80];
typedef struct struttura{
int codice;
data autore;
data titolo;};
typedef struct linked_list{
struttura libro;
struct linked_list *next;}li;
typedef li *link;
....
void inserisci(struttura *nuovo)
{
printf("Codice: ");
scanf("%d",&(nuovo->codice));
printf("Autore: ");
gets(nuovo->autore);
printf("Titolo: ");
gets(nuovo->titolo);
}
Il problema che riscontro è che sistematicamente (anche se inverto l'ordine tra autore e titolo) il programma ignora il primo gets; l'output sarà in questo modo " Autore: Titolo: " e mi permette di inserire solo il titolo. Da che dipende? grazie