• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja _getch() nie czeka na klawisz

Object Storage Arubacloud
0 głosów
790 wizyt
pytanie zadane 13 sierpnia 2018 w C i C++ przez Ogleirduwa Nowicjusz (170 p.)

Środowisko jakie używam to VisualStudio2017. Jak wiadomo jest ono strasznie rygorystyczne. Przeniosłem tam swój spory projekcik, działający bez zarzutu. Problematyczna jest taka oto pętla:

char wybor;
do
{
	wybor = getch();
	switch (wybor)
	{
		case '1': f1(); break;
		case '2': f2(); break;
		case ' ': break;
		default: cout<<(char)7; break;
	}
}
while (wybor != ' ');

Powinna działać bez zarzutu:

Po wciśnięciu znaku (użyciu _getch()) odpowiednia funkcja się wywołuje i kończy (wykonuje), a pętla zaczyna się od początku z tym, że tym razem _getch() wywołuje się sam (bez wciskania znaku), co powoduje defaultowy przypadek: dźwięk błędu.

Pętla wykonuje się jeszcze raz (tym razem poprawnie) i tak za każdym razem w każdym miejscu w kodzie, gdzie używam takiego układu. Wspomnę, że w poprzednim środkowisku (Dev - c++) nie było tego problemu z niemalże identycznym kodem (getch() zamienione tu na _getch() - wymaganie VS)

Proszę o pomoc / nakierowanie / sprostowanie mego myślenia. Pozdrawiam serdecznie

1 odpowiedź

+1 głos
odpowiedź 14 sierpnia 2018 przez niezalogowany
wybrane 14 sierpnia 2018 przez Ogleirduwa
 
Najlepsza

Użyj funkcji _getwch. Znalazłem ten sam problem: link

Podobne pytania

0 głosów
1 odpowiedź 167 wizyt
pytanie zadane 8 czerwca 2019 w C i C++ przez AuriattaDev Początkujący (390 p.)
0 głosów
1 odpowiedź 3,023 wizyt
pytanie zadane 16 lutego 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
0 głosów
1 odpowiedź 320 wizyt
pytanie zadane 2 marca 2016 w C i C++ przez L33TT12 Gaduła (3,950 p.)

92,556 zapytań

141,404 odpowiedzi

319,561 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...