Kako su se momčad dala na raspravu...
Moraću samo da vas zamolim da ne koristite više nijednu funkciju ANSI C-a, pošto to može narušiti to kakvu kontrolu imate nad programom. Koristite SUID root, i napravite i funkcije za čitanje sa tastature, ispisivanje na ekran (ne verujem ja onim STDIN, STDOUT, i kojekakvim STDERR). Naravno, koristite ncurses za organizaciju interfejsa pošto to daje najveću i najbolju kontrolu. Najvažnije je imati punu kontrolu nad unosom brojeva, pustite vi i exceptions i sve ostale gluposti, to je slučajno i potpuno bespotrebno ugrađeno i u same procesore.
Kad se već govori o kontroli, bolje je da se pogleda source kod sprintf funkcije pa da se vidi na kom principu radi, i sve će onda biti jasno. Tako i za scanf(). Ta funkcija je dovoljna samo celom svetu, međutim Vašem cenjenom korisniku nikako. Nema se potpuna kontrola, potpuno transparentno će scanf() reagovati ukoliko se unese pogrešan podatak, neće čak ni primetiti.
Ukoliko ćemo da izmišljamo toplu vodu, onda idemo do kraja. Ne treba da kritikujete bilo koju funkciju iz ANSI C standarda, zna se da je on glupost i da nema smisla. Ipak je Meine C Standard najvažniji na svetu, i uskoro će svi početi da ga koriste.
Bolje je naučiti koristiti nešto, nego pričati kako nešto ne može da uradi.
Toliko.
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.