Zamilovat si programování Zamilovat si programování
Pouze tento týden až 80% sleva na SQL jazyky
Zamiluj si programování! Až 80 % bodů na prémiový obsah zdarma. Více informací

Diskuze: Hlavičkový soubor pro getche

C a C++ C a C++ Hlavičkový soubor pro getche American English version English version

Aktivity (1)
Avatar
Pavel Šůstek:16.2.2018 20:51

Prosím o informaci ,jaký hlavičkový soubor v jazyce c vyžadují funkce getche ,getch ,kbhit apod. CONIO.H to není ,jak je zveřejněno v příručce .Používám Cygwin64Terminal v kombinaci s NetBeans IDE 8.2 ,64bit.

 
Odpovědět  +1 16.2.2018 20:51
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Pavel Šůstek
DarkCoder:16.2.2018 21:00

Tyto nestandardní funkce (getch(), getche(), kbhit(), a další) jsou skutečně součástí knihovny conio.h.
Podotýkám, že tyto funkce nejsou součástí ANSII.

Editováno 16.2.2018 21:03
Nahoru Odpovědět 16.2.2018 21:00
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
Odpovídá na DarkCoder
Pavel Šůstek:16.2.2018 21:50

DarkCodere (nebo někdo jiný) ,prosím Tě můžeš mi doporučit vývojové nástroje se zpřístupněnými těmito nestardardními funkcemi ?(getch(), getche(), kbhit(), a další) .Děkuji za odpověď .

 
Nahoru Odpovědět 16.2.2018 21:50
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Pavel Šůstek
DarkCoder:16.2.2018 22:44

Spíše než na IDE a tyto nestandardní funkce Tě odkáži na funkci, se kterou můžeš pracovat. Jedná se o funkci WINAPI GetAsyncKeyState() pracující s virtuálními kódy kláves. Pomocí této funkce (vyžaduje Windows.h) si pak můžeš vytvořit neblokující funkci determinující stisknutou klávesu.

Nahoru Odpovědět 16.2.2018 22:44
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
Odpovídá na DarkCoder
Pavel Šůstek:17.2.2018 18:03

Díky za tip ,jedná se o zajímavou funkci .Ještě by mne zajímalo ,zda jde pomocí ní (GetAsyncKeyS­tate()) jednoduše nasimulovat funkci getche() (příp.getch() ,kbhit()).

 
Nahoru Odpovědět 17.2.2018 18:03
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Pavel Šůstek
DarkCoder:17.2.2018 18:51

Samozřejmě že to jde, již jsem to zmínil v poslední větě svého předchozího příspěvku. Tak např. kbhit()

// my_kbhit()
int my_kbhit(void) {
        register int but;
        for (but = 0; but < 256; but++) {
                if (GetAsyncKeyState(but)) return but;
        }
        return 0;
}

Funkce vrací nulu pokud nebyla stisknuta klávesa, v opačném případě vrací ASCII hodnotu stisknutého znaku.
Tuto hodnotu pak mohu použít pro vytvoření funkcí my_getch() resp. my_getche().

Nahoru Odpovědět  +2 17.2.2018 18:51
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
Pavel Šůstek:22.2.2018 17:04

DarkCodere děkuji za inspiraci .Je to vděčné téma na procvičení programování .Něco jsem naprogramoval a pořád je co zlepšovat .Hodnotím pozitivně také tento portál .

 
Nahoru Odpovědět 22.2.2018 17:04
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Pavel Šůstek
DarkCoder:22.2.2018 18:20

Malá změna ve způsobu zpracování vstupu, velká změna v realizaci nápadů. Nemáš zač.

Nahoru Odpovědět 22.2.2018 18:20
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
srdosm
Člen
Avatar
srdosm:13.10.2018 12:40

To říkám furt, itnetwork je nejlepší. Celej stackoverflow tohle neví :-) Díky DakrCoder.

 
Nahoru Odpovědět 13.10.2018 12:40
Avatar
Pavel Šůstek:13.10.2018 14:10

Musím též dodatečně podotknout ,že Itnetwork má vysokou úroveň .

 
Nahoru Odpovědět 13.10.2018 14:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.