Totat Verzweifelt: Wie unter Linux auf Tasteneingabe reagieren?
-
Hallo
Ich bin Linuxprogrammieranfänger und total verzweifelt.
Mit welchem Befehl kann ich es erreichen, dass mein Programm
auf Eingabe irgendeiner Taste reagiert, und nicht Enter gedrückt
werden muss??? Welche Header Dateien einbinden?Ich hab schon das ganze Internet zu diesem Thema durchsucht und versucht curses.h einzubinden, aber das geht irgendwie bei mir nicht.
Ich bitte um Hilfe, und würde mich auf Antworten freuen!!!
-
Linux Anfänger schrieb:
Hallo
Ich bin Linuxprogrammieranfänger und total verzweifelt.
Mit welchem Befehl kann ich es erreichen, dass mein Programm
auf Eingabe irgendeiner Taste reagiert, und nicht Enter gedrückt
werden muss??? Welche Header Dateien einbinden?Ich hab schon das ganze Internet zu diesem Thema durchsucht und versucht curses.h einzubinden, aber das geht irgendwie bei mir nicht.
Ich bitte um Hilfe, und würde mich auf Antworten freuen!!!
Hast du libncurses-dev installiert? Wie sehen deine LDFLAGS aus? Steht da -lncurses in drin?
-
Ich habe SuSE 8.2 (Kernel 2.4.20)
da gibts kein libncurses-dev aber dafür ncurses und ncurses-devel,
die ich installiert hab.Was sind LDFLAGS ? und wo schau ich da nach?
Gibts für Linux nicht einfach einen einfachen Befehl, der abfrägt ob eine
Tastaturtaste gedrückt wurde?
-
hi, hier ist ein kleines beispiel (das hoffentlich funktionier, habs
seit ewigkeiten nicht mehr "angefasst"):/* fuer alle ncurses funktionen: getch etc */ #include <ncurses.h> /* sonstige header (haben nichts mit ncurses zu tun) */ #include <stdlib.h> /* fuer atexit() */ #include <stdio.h> int main() { int taste; /* ncurses initialisieren * ist zwingend notwendig sonst geht nix */ initscr(); /* atexit( endwin ); */ /* cursor in die linke obere ecke bewegen */ move( 0, 0 ); printw( "druecke eine taste: " ); /* warte auf einen tastendruck */ taste = getch(); /* alle von der ncurses lib belegten resourcen freigeben * * besser per "atextit( endwin );" nach dem initialisieren * (siehe oben) */ endwin(); return 0; }
compilieren musst du das ganze mit:
gcc testProgramm -lncurseskleine anmerkung:
das "-lncurses" sorgt dafuer, dass der linker die libncurses.a bibliothek
mit einbindet. diese wird nicht automatisch mit eingebunden und du wuerdest
lauter fehlermeldungen ("undefined reference .... ") erhalten.