Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: d91 en 14 Abril 2014, 15:14 pm



Título: vaciar una variable
Publicado por: d91 en 14 Abril 2014, 15:14 pm
hola a todos, me tope con un poblemita en un codigo de c, necesito saber que tecla presione conforme el ascii de cada letra, pero lo hago dentro de un bucle y la captura la hago asi
Código
  1. int num=getch();
  2. printf("El codigo de la tecla es %d",num);
al presionar la primera vez funciona perfectamente pero al presionar otra tecla
nuevamente me sale la primer tecla que presione, entonces lo que quiero saber como vaciar lo que tiene num para presionar otra tecla y capture el codigo, he probado con fflush(stdin); pero no hace nada


Título: Re: vaciar una variable
Publicado por: eferion en 14 Abril 2014, 15:25 pm
fflush está pensado para flujos de salida, no de entrada. Te recomiendo echar un vistazo a |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)

En cuanto al problema de repetir la tecla... habría que conocer el código que rodea las líneas que has puesto, ya que puesto así, tal cual, debería funcionar.

getch te devuelve un carácter recibido por la entrada estándar, eliminándolo de dicho buffer, por lo que no deberías obtener dos veces la misma entrada.