/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Problem med cin getch() efterfulgt af cin
Fra : Flare


Dato : 30-06-02 19:42

Jeg har følgende stykke kode.
-------
<conio.h>
var = getch();
cin >> var2;
-------
Dette stykke kode virker fint på en win2000/XP console, men på en ME / 98
som bygger på "rigtig" dos "hænger" den indtastede karakter fra getch som
det første tegn i CIN´et.

Hvordan FAEN undgår jeg det? Kan man ikke benytte et getch() før et cin i
win98 /me????

Har prøvet ALT jeg kender til input buffer og tømning etc. cin.ignore,
fflush(stdin), cin.sync, cin.clear ......intet virker...getch tegnet kommer
stadig med i mit cin felt.

PS: Nogen der kender til at 3 parts lib til c++ der indeholder en "get en
karakter uden echo" funktion? Måske kunne dette løse problemet...

Håber nogen kan hjælpe..
Anders




 
 
Rasmus Kaae (01-07-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 01-07-02 07:26

> PS: Nogen der kender til at 3 parts lib til c++ der indeholder en "get en
> karakter uden echo" funktion? Måske kunne dette løse problemet...

du kan reroute stdout til noget du selv har kontrol over, så bliver det ikke
echo'et -- og så skal du naturligvis restore stdout når du er færdig



Søren Badstue (01-07-2002)
Kommentar
Fra : Søren Badstue


Dato : 01-07-02 12:08

Flare <dct_flare@hotmail.com> skrev i
news:3d1f50f1$0$204$edfadb0f@dspool01.news.tele.dk
> Jeg har følgende stykke kode.
> -------
> <conio.h>
> var = getch();
> cin >> var2;
> -------
>
> Hvordan FAEN undgår jeg det? Kan man ikke benytte et getch() før et cin i
> win98 /me????
>

Svjh kan det løses ved at indsætte en ekstra getch() lige inden du skal
bruge cin. Altså sådan her:
var = getch();
getch();
cin >> var2;

--
Mvh
Søren



Flare (03-07-2002)
Kommentar
Fra : Flare


Dato : 03-07-02 21:04

> Svjh kan det løses ved at indsætte en ekstra getch() lige inden du skal

Ja i teorien. Men programmet skal bruges på BEGGE platformer. Og så vil der
være fejl på win2k & XP

Reroute? Hvad mener du? Link ? Uddybende svar?

Tak
Anders



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste