Leer entrada del teclado
Queria saber que función puedo utilizar para saber cual fue la ultima tecla presionada. El caso en cuestion es que estando en un bucle while leyendo datos del puerto serie quiero saber si en algun momento se presiona por ejemplo la tecla escape asi puedo terminar el bucle.
getch() te para la ejecucion del programa en espera de una tecla pero tenes una funcion auxiliar para aberiguar si tenes o no teclas en el buffer: es kbhit() (ojo no esta en todos los compiladores, pero si esta getch() seguro esta knhit())
kbhit() retorna un 1 o un 0 si esta o no precionada una tecla asi que podes hacer:
int INKEY(void) {
if (kbhit()) return(getch());
return (0);
}
do {
...
} while (INKEY == 27);
Lo hice en una funcion para hacerlo mas portable a todos los programas que vallas haciendo pero tambien podes hacer:
if ((kbhit()) && (getch() == 27)) break;
Ha, antes que me olvide, 27 es el ASCII de ESC...
kbhit() retorna un 1 o un 0 si esta o no precionada una tecla asi que podes hacer:
int INKEY(void) {
if (kbhit()) return(getch());
return (0);
}
do {
...
} while (INKEY == 27);
Lo hice en una funcion para hacerlo mas portable a todos los programas que vallas haciendo pero tambien podes hacer:
if ((kbhit()) && (getch() == 27)) break;
Ha, antes que me olvide, 27 es el ASCII de ESC...
