czy został naciśnięty klawisz

0

Piszę program wykonujący długotrwałe obliczenia przy użyciu pętli; poszukuję funkcji boolean zwracającej 1 kiedy coś zostanie naciśnięte tzn program pracuje do czasu kiedy coś zostanie naciśnięte, informuje o postępie (która pętla, cout <<) i liczy dalej a ja wiem, że jeszcze działa:

{
    for (i=0; i < 100000000000; i++)
    {
      wynik = wynik ^ i;
      if (keypressed) cout << i << endl;
    {
  cout << wynik;
  }

Jeśli użycie 'cout' jest bezwarunkowe, program jest 80 razy wolniejszy; obliczenia sięgają długich godzin, podczas których nie wiem, co się dzieje.

0

kbhit() z conio.h.

0

Prawie; jednak z tym, że po jednokrotnym naciśnięciu czegokolwiek, warunek zawsze jest uważany za spełniony i od tej chwili z każdą pętlą wyświetla się wartość i; jak wyzerować kbhit() zaraz po naciśnięciu?

0
for (int i=0; i < 100000000000; i++)
    {
      wynik = wynik ^ i;
      if (kbhit())
      {
        cout << i << endl;
        getch();
      }
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1