SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Martin97 en Domingo 4 de Diciembre de 2016, 03:45

Título: limpiar buffer.
Publicado por: Martin97 en Domingo 4 de Diciembre de 2016, 03:45
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).
Título: Re:limpiar buffer.
Publicado por: chenech en Domingo 4 de Diciembre de 2016, 16:09
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.
Título: Re:limpiar buffer.
Publicado por: Martin97 en Domingo 4 de Diciembre de 2016, 21:51
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;
         }
      }
Título: Re:limpiar buffer.
Publicado por: chenech en Domingo 4 de Diciembre de 2016, 23:12
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.