Salve,
come posso fare per far riconoscere gli spazi come caratteri alla scanf?
Ho provato a cercare in giro, ma tutti i consigli del tipo
scanf("%[^\n]",buffer);
oppure prova con la funzione fgets() ecc, non mi hanno risolto il problema.
Grazie.
Salve,
come posso fare per far riconoscere gli spazi come caratteri alla scanf?
Ho provato a cercare in giro, ma tutti i consigli del tipo
scanf("%[^\n]",buffer);
oppure prova con la funzione fgets() ecc, non mi hanno risolto il problema.
Grazie.
Il problema lo risolvi con la fgets.
No MP tecnici (non rispondo nemmeno!), usa il forum.
ma non mi funziona.
faccio cosi'.
char buffer[20];
fgets(buffer, 20, stdin);
e non succede niente.
Cosa dovrebbe succedere?
Attende i dati che devi scrivere da tastiera ... no?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ho provato a fare un programma solo con la fgets e funziona, ma all'interno del programma in cui mi serve no.
Ora vedo di risolvere.
Originariamente inviato da Doomw
Ho provato a fare un programma solo con la fgets e funziona, ma all'interno del programma in cui mi serve no.
Ora vedo di risolvere.![]()
No MP tecnici (non rispondo nemmeno!), usa il forum.
questo e' il codice.codice:char sendbuf6[85]="To: "; char destinatario[80]; printf("Inserisci il nome del destinatario\n"); fgets(destinatario, 80, stdin); strncat(sendbuf6, destinatario, sizeof(sendbuf6)-strlen(sendbuf6)); sendbuf6[sizeof(sendbuf6)-1]=0; printf("%s", sendbuf6);
Praticamente mi stampa:
To:
e poi continua con il resto del programma, mi salta proprio l'inserimento.
Il problema è nel codice precedente ... se ci sono delle scanf allora devi pulire il buffer prima della fgets.
Ci sono innumerevoli discussioni sull'argomento.
No MP tecnici (non rispondo nemmeno!), usa il forum.
Esatto, risolto grazie mille