Newsgroup: it.comp.lang.c
Titolo: alternativa a scanf

sto scrivendo un piccolo programma in linguaggio, ma ho problemi con lo
scanf. Avevo già sentito che era meglio evitare tale comando: però
solo adesso riscontrato problemi perché utilizzo devc in windows,
mentre le mie esperienze precedenti erano in dos. Insomma inserisco il
testo per l'immissione dei dati, ma lo scanf non lo stampa a video; si
mette in attesa del dato da tastiera, ma non lo prende (addirittura ho
una fila di 5 scanf, ma mi domanda solamente un dato invece di 5!).
Pazzesco! Esiste un'alternativa a questo comando che sia più stabile e
non dia questi problemi? Nessuno di voi ha incontrato simili problemi?

non dia questi problemi? Nessuno di voi ha incontrato simili problemi?
scanf() è una funzione stabilissima.  Il problema non è suo ma tuo,
nel non aver capito come funziona :-)
man scanf (e capirai perché dei 5 scanf va a buon fine solo il primo)
In ogni caso, concordo sul non usare scanf() e invece affidarsi a
fgets() che peraltro è più sicura.

 scanf. Avevo già sentito che era meglio evitare tale comando
Nel libro Practical C Programming (S. Oualline, ed. O'Reilly, bello
bono), raccomanda di usare fgets() più sscanf() sulla stringa presa
con fgets().
Saludos
Adriano

 fgets() che peraltro è più sicura.
In che senso ritieni scanf meno sicura di fgets ?
Giorgio

In che senso ritieni scanf meno sicura di fgets ?
http://groups.google.it/groups?hl=it&q=scanf%20unsafe&btnG=Cerca+con+Google&sa=N&tab=wg


OK, Le faq e le discussioni di comp.lang.c  le conosco.  Ti chiedevo il 
*tuo* punto di vista.
Giorgio

*tuo* punto di vista.
Non esiste un *mio* punto di vista, perché che una funzione non sia
sicura è un fatto preciso.  Non c'è spazio per le opinioni.  Se
conosci le faq e le varie discussioni perché mi chiedi "in che senso
ritengo scanf() meno sicura di fgets() ?"...

 Non c'è spazio per le opinioni. 
Strano che dici questo perché  se hai letto i riferimenti che mi hai 
indicato troveresti molte *opinioni* a riguardo.  Da chi considera scanf 
il male assoluto a chi non ci vede niente di male ( almeno per certi 
tipi di input).
Comunque capisco che sei l'  uomo delle certezze :-)  Non ti infastidirò 
  più col chiederti opinioni personali.
Giorgio

Comunque capisco che sei l'uomo delle certezze :-)
Probabilmente sono l'uomo che di C ne sa un pochino piů di te ;-)
Come al solito, la gente come te porta le discussioni tecniche sul
personale, perché avendo proprio esaurito le ragioni tecniche, non ha
altro modo di sfogarsi...

 altro modo di sfogarsi...
La scelta tra le possibilità offerte dal  linguaggio è  sempre una 
scelta (personale, aziendale...).
Quanto allo "sfogarsi" non so cosa vuoi dire. Io sono in pace con me 
stesso. E comunque questo sì che mi sembra un passare al piano personale.
Giorgio

scelta (personale, aziendale...).
Le scelte devono orientarsi all'utilizzo di caratteristiche *sicure*
perché il software sia affidabile e scanf() non è una possibilità
valida, offerta dal linguaggio, in questo senso.

 ..........................................................
Le barzellette postale sul NG giusto qui si parla di C.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 Le barzellette postale sul NG giusto qui si parla di C.
Taci stupido.  Torna a parlare quando di C ne capirai almeno un briciolo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Abbastanza per ridere delle tue cazzate ;-)


Shhhh.... silenzio.  Hai poco da ridere.


 
E tu hai poco da telefonare se il mio codice non funziona ;-)


 della massima ampiezza del campo (%ns) e il problema scompare.
Aggiungiamo che quasi nessuno si preoccupa di verificare il valore di
ritorno e che in caso di fallimento di conversione lo stream viene
lasciato in uno stato indefinito...
Luca
-- 
"New processes are created by other processes, just like new
 humans. New humans are created by other humans, of course,
 not by processes." -- Unix System Administration Handbook

 altro modo di sfogarsi...
ROTFL!