Domanda

C'è un modo per ottenere l'ultimo tasto in una console senza l'utilizzo di messaggi di Windows o il flusso di std :: cin? Ho sentito dire che c'è una funzione nella libreria standard. Soluzioni dovrebbero essere preferibilmente più portabile possibile. Grazie per il vostro aiuto in anticipo.

È stato utile?

Soluzione

conio.h ma non è tecnicamente standard. Su Linux, il mio primo successo di Google suggerisce termios.h .

Altri suggerimenti

Non proprio portatile, ma è possibile accedere allo stato chiave corrente utilizzando GetAsyncKeyState anche da console app sotto le finestre. Più tecnica, e altrettanto le finestre specifiche, potrebbe essere quella di collegare la tastiera utilizzando SetWindowsHookEx in una chiamata indietro nel vostro sistema che memorizza semplicemente l'ultimo tasto premuto.

Ma il problema di base:? Console + Portabilità - sembra implicare cin è la soluzione migliore - che cosa avete bisogno che cin non prevede

Hai pensato di usare una libreria curses come pdcurses? Questa è l'unica libreria multi-piattaforma che farà Management Console, che io sappia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top