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:
Hier ist die Funktion waitkey():
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
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:
Code: [Auswählen]
static short keyset = 0;
static char keych;
Wenn eine Taste gedrückt wird, wird keyset auf 1 gesetzt.Hier ist die Funktion waitkey():
Code: [Auswählen]
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

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
