Khbit
-
Okay... ich habe jetzt verstanden, was das für ne Funktion ist und wozu sie da ist... und so habe ich mir gedacht lernst du die Funktion anhand eines eigenen kleinen Programmes erst einmal kennen:
#include <dos.h> #include <conio.h> #include <stdio.h> void main(void) { int log; clrscr(); do{ log=kbhit(); }while(log==103); }
Hier soll die whileschleife so oft durchlaufen werden, bis das "g" gedrückt wird (Asciicode für g = 103)
Leider jedoch wird das Programm sofort beendet obwohl die Vorraussetzung, dass die Variable log = 103 ist ja nie erfüllt wird!Woran liegt das???
DavidPS:
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt__kbhit.asp
EDIT: Bei Betriebssystemabhängigen Funktionen solltest du in den entsprechenden Foren fragen. In diesem Fall also "DOS und Win32-Konsole". Und zudem gibt es noch spezielle
Tags mit Syntaxhighlighting.
-
das is ne solange schleife, keine bis schleife...
-
Was an seinem eigentlichen Problem exakt _nichts_ ändert...
-
was ist der unterschied zwischen solange und bis?
Für mich das selbe!?!
-
so lange die sonne scheint...
bis die sonne scheint...gegensaetzliche aussagen.
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI 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.
-
kbhit gibt nicht die gedrückte Taste wieder (wie zb getch), sondern nur ob eine Taste gedrückt wird oder nicht.
Versuchs mal folgendes:
do{ if(kbhit()==0) log=getch(); }while(log!='g');
Übrigens:
Mit ' ' bekommst du den ASCII-Wert des Zeichens