Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozdział 15.2

Ostatnio zmodyfikowano 2008-06-26 20:12
Autor Wiadomość
Paffciek
Temat założony przez niniejszego użytkownika
Rozdział 15.2
» 2008-06-26 16:02:00
Mam problem mianowicie:

W kodzie tamtego proramu, nie wiem do czego jest potrzebna część:

C/C++
while( kbhit() )
{
    znak = getch();
    std::cout << "*znak: '" << znak << "' kod: " << static_cast < int >( znak ) << std::endl;
}
   
Gdyz jesli wezme ja w komentarz to i tak program tak samo dziala;
P-889
DejaVu
» 2008-06-26 17:45:08
Trochę wyjąłeś ten kod z kontekstu i czytając go w tym temacie zbyt dużego sensu on nie ma, jednak jeśli uruchomisz sobie program, który jest w rozdziale i naciśniesz np. strzałkę w lewo (lub jakikolwiek inny klawisz specjalny) lub kombinację klawiszy z alt/ctrl, zobaczysz jaka jest różnica w działaniu programu. :)
P-892
Paffciek
Temat założony przez niniejszego użytkownika
» 2008-06-26 18:18:30
Czym to jest spowodowane, ktory element tego kodu za to odpowiada?
P-895
DejaVu
» 2008-06-26 20:12:32
Po wciśnięciu klawisza np. w lewo, w buforze klawiatury zajdzie się więcej niż jeden znak. Jeśli istnieje jakikolwiek znak w buforze klawiatury funkcja kbhit() zwróci wartość różną od zera. Aby odczytać znak z bufora klawiatury, wykorzystujesz funkcję getch(). Funkcja getch() pobiera tylko jeden znak z bufora klawiatury i usuwa znak odczytany z bufora (kolejka FIFO - First In First Out => Pierwszy Przychodzi Pierwszy Wychodzi).
Funkcja getch() w rzeczywistości działa tak, że odczytuje ona pierwszy znak z bufora klawiatury. Jeśli bufor jest pusty, czeka na wciśięcie klawisza. Wciśnięcie klawisza może spowodować dodanie więcej niż jednego znaku do bufora klawiatury. Z kodu wynika jasno co robią poszczególne części kodu, jeśli rozumie się jak działają powyżej opisane funkcje.
P-896
« 1 »
  Strona 1 z 1