Win95 und getch()
-
Hallo,
bin schon am verzweifeln. Ich hab ein Programm C++ Programm auf nem Win95-Rechner laufen. Am Ende wird der Benutzereingabe gefordert die mit j/n zu beantworten ist. Soweit klappt alles, aber im nächsten Schleifen-Durchlauf des Programms "rutscht" mir der oben eingegebene Buchstabe in die nächste cin-Eingabe am anfang des Programms!?!
Hat irgendjemand ne Idee woran das liegen kann? An nem Win98 ... Win XP Rechner funktioniert übrigens alles.do{
...
if(kbhit())
{
cAntwort = getch();}
...
while(...)mfg Alex
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ist dir die Kompatiblität zu Win95 so wichtig?
Schonmal mit gotoxy (bei win glaub ich in conio.h) probiert, den cursor zu ändern?
-
leermal den buffer
while(getchar()!='\n')
-
Hallo,
das leeren des Puffers hab ich schon probiert:
fflush(stdin)
cin.ignore(cin.rdbuf()->inavail())
cin.getline
...alles ohne Erfolg. Das seltsame ist, dass meine Cursorposition immer auf 0 steht, bzw. cin.tellg() -1 liefert.
-
und was sagt der debugger ?
-
Du leerst den falschen Puffer. getch() verwendet alles nur sicher nicht den Puffer der Standardlibrary.
#include <conio.h> #include <windows.h> ... FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); getch();
Kann man nur hoffen, dass das alles schon unter Win95 funktioniert.
MfG SideWinder
-
Stelfer schrieb:
leermal den buffer
while(getchar()!='\n')
macht es nicht ?
-
Stelfer schrieb:
Stelfer schrieb:
leermal den buffer
while(getchar()!='\n')
macht es nicht ?
Hallo,
funktionieren tut es nicht, kann es ja auch nicht, deshalb nehm ich ja getch, weil ich da kein '\n' brauche. Also hab ich ne ENDLOSSCHLEIFE bis jemand '\n' eingibt.
-
Hey, danke "SideWinder".
Habs gerade auf dem Problemrechner probiert!!! Fehler beseitigt - hoff ich!
mfg Alex