09/07/17 18:32
Mikelius
Salve a tutti.
Prendiamo ad esempio questo piccolo codice:
Quando lo mando in esecuzione, se per sbaglio o per "atto malefico" premo dei tasti in quei 6 s, questi veranno ad accodarsi sulla console dopo "Inserisci numero" costringendomi a cancellare tutti i caratteri scritti prima di inserire il numero voluto.
Esiste un modo per evitare che si verifichi questo?
Come ad esempio inibire la tastiera fino alla richiesta del numero o redirigere tutto quello premuto in un buffer "ausiliario" per poi buttarlo via?
avevo visto qualcosa con gli interrupt sotto sistemi UNIX , ma cercherei qualcosa di più semplice se esiste (e magari portabile/sotto Windows)
In genere programmo con Visual Studio 2017 community, raramente con code::block
Prendiamo ad esempio questo piccolo codice:
#include <stdio.h> #include <Windows.h> int main( int argv, char *argc[] ){ int i = 0; Sleep( 6000 ); printf( "%s", "Inserisci in numero:" ); scanf( "%d", &i); return 0; }
Quando lo mando in esecuzione, se per sbaglio o per "atto malefico" premo dei tasti in quei 6 s, questi veranno ad accodarsi sulla console dopo "Inserisci numero" costringendomi a cancellare tutti i caratteri scritti prima di inserire il numero voluto.
Esiste un modo per evitare che si verifichi questo?
Come ad esempio inibire la tastiera fino alla richiesta del numero o redirigere tutto quello premuto in un buffer "ausiliario" per poi buttarlo via?
avevo visto qualcosa con gli interrupt sotto sistemi UNIX , ma cercherei qualcosa di più semplice se esiste (e magari portabile/sotto Windows)
In genere programmo con Visual Studio 2017 community, raramente con code::block
Ultima modifica effettuata da Mikelius 14/07/17 6:40
aaa