Leko, za to se koriste funkcije setbuf, setvbuf i slične, ali prema mom iskustvu, one ne rade sa stdin-om (zapravo, man stranica pominje keširanje samo za izlazne strimove, a ne za ulazne, kakav je stdin). Čini mi se da sam u nekoj draft specifikaciji ISO C-a 99 video da je stdin linijski baferisan, i da to nije moguće izmeniti.
Uostalom, ovo je problem na koji mnogi početnici nalete, i bilo bi čudno da postoji rešenje nezavisno od sistema, a da ga niko ne zna napamet ;-)
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.