View Full Version : [C] getchar()
Mezzelfo
30-09-2004, 18:44
Per inserire in un programma il classico "premi un tasto per continuare" si usa getchar giusto?
Perchè il computer fa come se getchar non ci fosse e va avanti senza aspettare l'input?
Ho notato che se però ne inserisco due, uno dopo l'altro, funziona.
WHY!? O_o :muro:
VegetaSSJ5
30-09-2004, 19:52
per farti dare la scritta "premi un tasto per continuare" devi dare (sotto windows)
system("pause");
Mezzelfo
30-09-2004, 21:22
e sotto Linux?
ilsensine
30-09-2004, 22:23
E' una FAQ ricorrente. stdin è line buffered di default.
Link veloce a una possibile soluzione:
http://cboard.cprogramming.com/archive/index.php/t-27714
Ziosilvio
01-10-2004, 00:16
Originariamente inviato da ilsensine
E' una FAQ ricorrente. stdin è line buffered di default.
Link veloce a una possibile soluzione:
http://cboard.cprogramming.com/archive/index.php/t-27714
Bello, non lo sapevo!
Io finora ho sempre usato la "tecnica puzzona":
while (getchar() != '\n')
;
però il msg deve essere "Premi Invio per continuare..." ;)
VegetaSSJ5
08-10-2004, 00:48
Originariamente inviato da ilsensine
E' una FAQ ricorrente. stdin è line buffered di default.
Link veloce a una possibile soluzione:
http://cboard.cprogramming.com/archive/index.php/t-27714
non viene compilata con dev-c++ (ho provato solo con questo)sotto windows...:( questo c@zzo di getchar sta facendo impazzire anche me...
beppegrillo
08-10-2004, 07:13
getche() presente nella lib conio non vi piace?:O
ilsensine
08-10-2004, 10:42
Originariamente inviato da VegetaSSJ5
non viene compilata con dev-c++ (ho provato solo con questo)sotto windows...:( questo c@zzo di getchar sta facendo impazzire anche me...
Fammi indovinare, ti manca termios.h...è standard unix, non è presente sotto windows. Forse è stata implementata in Cygwin.
VegetaSSJ5
08-10-2004, 12:26
x beppegrillo:
conio.h è implementata di solito in windows ma non in unix...
x ilsensine:
termios.h è implementata di solito in *nix ma non in windows...
non c'è una soluzione standard al problema??
ilsensine
08-10-2004, 12:31
Originariamente inviato da VegetaSSJ5
x ilsensine:
termios.h è implementata di solito in *nix ma non in windows...
Appunto suggerivo di dare una occhiata a Cygwin. Può darsi che la hanno implementata in qualche maniera.
non c'è una soluzione standard al problema??
No in quanto non c'è una funzione standard C prevista per questa cosa.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.