Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie mit C-Programm Pfeiltasten einlesen?



nobody0
10-07-2005, 19:02
Für eine Bash-ähnliche Eingabe in ein C-Programm fehlt mir noch die Wiederholung der letzten Eingabe mit dem Nach-oben-Pfeil, so wie man es z. B. von der Bash kennt.
Wie aber bekommt man das hin? :confused:

locus vivendi
10-07-2005, 20:45
Fragst du danach, wie man den Druck auf die Cursortasten erkennt, oder wie man das Wiederholen von Kommandos macht. Für letzteres würde ich dich hierauf verweisen
http://www.s11n.net/editline/
oder auf GNU Readline. Ich habe allerdings keines davon selber benutzt.
Das erste wurde hier ja schon mehrfach besprochen, glaube ich.

panzi
13-07-2005, 21:33
Naja, oder wie immer ncurses. Sollte wohl auf jeden Linux System installiert sein. Einfach man ncurses (http://unixhelp.ed.ac.uk/CGI/man-cgi?ncurses) durchlesen. ;)
Du kannst mit getch() ein Zeichen einlesen und zwar auch gleich so, das die escape sequenz für eben pfeil-rauf/runter u.d.G. einen eigenen (int) wert hat, du also nur mit KEY_UP etc. vergleichen musst, und nicht noch dei escape sequence parsen musst. Siehe dazu man getch (http://unixhelp.ed.ac.uk/CGI/man-cgi?getch).

Und dann halt gegen ncurses linken nicht vergessen (-lcurses od. -lncurses sollte auch gehn).