|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
[c] problemi con gets
All'improvviso la funzione gets ha iniziato a darmi dei problemi, adesso vi spiego, se per esempio le uso in cascata come di seguito:
Codice:
puts("Inserire Cognome e nome");
gets(st.cognomenome);
puts("Inserire matricola");
gets(st.matricola);
|
|
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Prendi il Kernighan&Ritchie, studia bene come funziona l'input-output bufferizzato, e usa fgets.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
fgets legge da file io devo leggere da tastiera.
il problema è che la prima gets viene saltata però tutto questo è successo quando ho inserito questa parte del codice una una function mentre nel corpo del main questo non succedeva. Ultima modifica di Prince_81 : 23-07-2008 alle 15:35. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
Ho risolto il problema in poche parole l'utilizzo della function era a scelta, bisogna inserire tramite scanf un numero in base all'operazione da svolgere io ho inserito subito dopo la scanf fflush(stdin) e il problema non compare più.
C'era nel flusso stdin qualcosa che faceva saltare la prima gets. |
|
|
|
|
|
#5 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Quote:
fflush(stdin) è sbagliato. Leggi il perché: http://faq.cprogramming.com/cgi-bin/...&id=1043284351 Probabilmente un newline.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:02.




















