Forum » Programiranje » c++ getch problem
c++ getch problem
iggy ::
Lep pozdrav
Napisal sem preprost program, ki bere znake in jih izpisuje na zaslon. Uporabil sem funkcijo getch(), ki prebere znak in ne čaka na pritisk entra. No zdaj pa k problemu. Problem je ta, da mi izpiše črke, ki sem jih vtipkal z zeeeelooo veliko zakasnitvijo. Torej če pritiskam tipke mi bo po okoli 30 sekundah prikazalo use tipke, ki sem jih pritisnil v zadnjih 30 sek. V čem tiči problem?
koda:
Napisal sem preprost program, ki bere znake in jih izpisuje na zaslon. Uporabil sem funkcijo getch(), ki prebere znak in ne čaka na pritisk entra. No zdaj pa k problemu. Problem je ta, da mi izpiše črke, ki sem jih vtipkal z zeeeelooo veliko zakasnitvijo. Torej če pritiskam tipke mi bo po okoli 30 sekundah prikazalo use tipke, ki sem jih pritisnil v zadnjih 30 sek. V čem tiči problem?
koda:
char a; int main(){ while (1){ a = getch(); cout (( a ; } return 0; }
Hey, you're fat!
- spremenil: Vesoljc ()
napsy ::
Mogoče muraš flush-at stream.
dodaj:
fflush(stdout);
pred koncem while zanke
dodaj:
fflush(stdout);
pred koncem while zanke
"If you die, you die. But when you live you live. There is no time to waste."
Gundolf ::
uporabi
cout.flush();tako kot ti je napsy svetoval (njegova rešitev je C-jevska, mešanje C in C++ v IO operacijah je pa velik no-no). Tako da tudi tvoj getch() bi se dalo spremenit v recimo cin.get().
Zgodovina sprememb…
- spremenil: Gundolf ()
iggy ::
Gundolf najlepša hvala, deluje! Samo zanima me zakaj potrebujemo ta cout.flush();
Hey, you're fat!
napsy ::
Preden se stvari izpišejo na zaslon se shranijo v buffer, ki se pa ob priložnosti izprazni. Tvoja zanka je pa prehitra za samodejno spraznitev bufferja, zato ga moraš ročno.
"If you die, you die. But when you live you live. There is no time to waste."
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c++] cin >> problemOddelek: Programiranje | 1457 (1127) | Tutankhamun |
» | [c++] Kako ugotoviti katera tipka je bila pritisnjenaOddelek: Programiranje | 1491 (1263) | 64202 |
» | čitanje črkOddelek: Programiranje | 1556 (1425) | BigWhale |
» | c++ datotekeOddelek: Programiranje | 4061 (3550) | Vesoljc |
» | C++ kot kaj shraniti program?Oddelek: Programiranje | 1248 (1081) | rasta |