Hallo,
Folgendes Problem:
Ich habe mir eine kleine Funktion gebastelt, welche auf einen Tastendruck warten soll und dann das entsprechende Zeichen zurückgibt.
Dafür gibt es die für Datei kb.c gültige Variablen:
static short keyset = 0;
static char keych;
Wenn eine Taste gedrückt wird, wird keyset auf 1 gesetzt.
Hier ist die Funktion waitkey():
char waitkey()
{
keyset = 0;
while(keyset==0)
{
puts(" \b");
}
return(keych);
}
Das ganze funktioniert komischerweise nur, wenn in der Schleife etwas ausgegeben wird.
Als Notlösung wird jetzt eine Leertaste ausgegeben und dann wieder zurückgegangen.
Wenn ich das puts(" \b"); weggmache, dann kommt die Funktion nicht zum return.
Woran liegt das?
Wo ist mein Denkfehler?
Vielen Dank schonmal im voraus,
etlam