Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Oczekiwanie na wcisnięty klawisz


Rekomendowane odpowiedzi

Opublikowano

Cześć. Zapewne większość z Was pomyślała ,że chodzi o funkcje getch() czy coś . Nie ,tak nie jest.

Otóż mam załóżmy pętelke while(true) i teraz :

w konsoli wypisuje mi to liczby (jakieś losowe) i teraz :

jak zrobić by po naciśnięciu dowolnego przycisku (czyli samo getch()) zatrzymywało wykonywanie pętli ?

Otóz zrobiłęm coś takiego :

while(true){	
		if(getch() != NULL){
			break;
		}
		// reszta kodu
	} 

no ale problem jest taki,że pętla oczekuje na kliknięcie klawisza. Jak zrobić ,by zatrzymało pętle po kliknięciu klawisza ale bez zatrzymywania pętli ?

Jakieś pomysły?

Dzieki za pomoc.

Opublikowano

char znak = getch();

if( znak != 0 ) break;

 

Powinno działać

 

// Kod nie działa, poprawny niżej

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

nadal nie działa. Pętla czeka aż wcisne jakiś klawisz i dopiero wtedy jej dalsza część się wykona.

Myślę,nad wykorzystaniem wątków ,ale musze pomyśleć w jaki sposób.

Opublikowano

Najprościej kbhit() z conio.h  (nie jest w standardzie, nie każdy kompilator może to obsługiwać)

Ewentualnie hook na klawiaturę

http://stackoverflow.com/questions/1437158/c-win32-keyboard-events

 

 

 

char znak = getch();

if( znak != 0 ) break;

 

to jest to samo co dał autor tematu

Opublikowano

Najprościej kbhit() z conio.h  (nie jest w standardzie, nie każdy kompilator może to obsługiwać)

Ewentualnie hook na klawiaturę

http://stackoverflow.com/questions/1437158/c-win32-keyboard-events

 

 

to jest to samo co dał autor tematu

 

Oj daj mi spokój, nie doczytałem xD

 

 // Liczą się chęci, a nie D:

 

Kod który powinien działać:

while(true)
{
if( kbhit() )
{
char znak = getch();
}
if( znak != 0 ) break;
}

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...