controladores especiales
Escrito por F. Javier Carazo Gil 23rd agosto 2011 in Tutoriales con 4 comentarios comentarios
Cuandoprogramamos en C, nos enseñan desde primera hora a usar las funciones típicas de entrada/salida presentes en stdio.h: printf(), scanf(), getchar(), gets()… pero normalmente se obvia el uso de funciones algomás avanzadas para detectar pulsaciones de teclas o interactuar de forma más directa con la terminal.
Hoy os explicaré para qué sirven dos funciones: getch() y getche(), disponibles en conio.h (como yaadvierto en el título de la entrada, este código funciona en entornos Windows, en entornos Linux ya explicaré en otra entrada cómo se puede hacer).
getch(): devuelve un char que representa el códigoASCII de la tecla pulsada
getche(): ídem que el anterior, pero además lo imprime por pantalla
Veamos un ejemplo en el que detectamos la pulsación de las flechas del teclado, la tecla ENTER y eltabulador:
#include
#include
int main()
{
char cTecla;
printf("\r\nPresione un Tecla ...");
while(cTecla != 27)
{
cTecla = getch();
if(cTecla == 0)cTecla = getch();
else
switch(cTecla)
{
case 13:
printf("\r\n Presiono ENTER");
break;
case9:
printf("\r\n Presiono TAB");
break;
case 72:
printf("\r\n Presiono Flecha Arriba");
break;case 80:
printf("\r\n Presiono Flecha Abajo");
break;
case 75:
printf("\r\n Presiono Flecha izquierda");break;
case 77:
printf("\r\n Presiono Flecha derecha");
break;
}
}
return 0;
}
#include
#include...
Regístrate para leer el documento completo.