• Viernes 24 de Febrero de 2017, 15:57

Autor Tema:  limpiar buffer.  (Leído 509 veces)

Martin97

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
limpiar buffer.
« en: Domingo 4 de Diciembre de 2016, 03:45 »
0

Publicidad 
hola gente, tengo una duda.. necesito hacer que en un código no me detecte una tecla especifica o que si la trae de antes en el buffer que lo limpie, ya probé con fflush(stdin), pero no me lo hace. la tecla en cuestión seria el (espacio).

chenech

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Re:limpiar buffer.
« Respuesta #1 en: Domingo 4 de Diciembre de 2016, 16:09 »
0
Hola, que compilador de C++ usas y el programa es para Windows, DOS, Unix, etc.???

Pon la parte del código que aceptas los datos y en el que hay que filtrar el espacio.
« última modificación: Domingo 4 de Diciembre de 2016, 16:13 por chenech »

Martin97

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re:limpiar buffer.
« Respuesta #2 en: Domingo 4 de Diciembre de 2016, 21:51 »
0
estoy usando borland c++ y es windows, abajo el codigo:

   //TENGO QUE HACER QUE SI VIENE UN ESPACIO ANTES DE ESTO ME LO QUITE.
   while(i<dim)
   {
      band=0;
      fflush(stdin);
      while(band==0)
      {
         if(s>=60){
            s=0;
            m++;
            if(m>=60){
               m=0;
               h++;
            }
         }
         system("cls");
         printf("%d:%d:%d\n",h,m,s);
         Sleep(1000);
         s++;
        if(GetAsyncKeyState(VK_SPACE))
         {
            band=1;
         }
      }

chenech

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Re:limpiar buffer.
« Respuesta #3 en: Domingo 4 de Diciembre de 2016, 23:12 »
0
Hola de nuevo, estoy un poco perdido con el código que has puesto, en que variable puede venir el espacio, como se acepta, por teclado?
Que tipo son las variable que tienes en ese código, etc ...
si no recuerdo mal GetAsyncKeyState se usa para saber si está pulsada alguna tecla especial como Ctrl, Alt, etc.
Con lo que has puesto no me entero, lo siento.
« última modificación: Domingo 4 de Diciembre de 2016, 23:15 por chenech »