getch () bei unix
-
Hi Leute,
mal ne dumme Frage, ich mit c unter unix ein Programm schreiben. Dafür muss ich eine Menuesteuerung entwerfen.
Jetzt gibt es da zwei Möglichkeiten für mich.
Die eine wäre eine Steuerung über die F-Tasten, nur weis ich leider nicht, wie ich diese abfragen kann...???
Die zweite Möglichkeit ist durch eine einfachen Eingabe von z.B Ziffern, nur habe ich dar das Problem, das ich zur Zeit noch getchar verwende und dieses ein Return verlangt... Das ist aber sehr hinterlich für eine Menuesteuerung, gibt es unter Unix auch einen Befehl, ähnlich wie getch(), der auf kein Return wartet ???Bin für jeden Tipp dankbar...
-
ja, du brauchst dafuer die curses lib (curses.h)
schau mal auf www.pronix.de und http://www.cise.ufl.edu/~ppadala/NCURSES_HOWTO.html
nach.
-
danke für die antwort, aber irgendwie komme ich dadurch nicht weiter. denn wenn ich das getch() von der curses.h benutze bekomme ich immer die fehlermeldung "speicherzugriffsfehler". weis jemand von warum diese kommt, denn ich kann es mir nicht erklären...
-
Hallo!
Fuer Unixspezifische Fragen haben wir ein Unix Forum!
verschoeben
-
Ein bisschen Beispielcode währe hilfreich den Fehler zu suchen. Da du wahrscheinlich eine Variable nicht richtig initalisiert hast wird man den Fehler so per Ferndiagnose nicht finden können.
Joe
-
Benutz doch einfach die FAQ :o
-
Benutze für so ein kleines Problem nicht gleich die (n)curses.
Schau mal, wie kingruedi schon sagte, in die FAQ:
Pendant zu getch() und kbhit() im unix bereich???
-
vor allem haben die ncurses das Problem, dass man sie nicht mit normalen std I/O kopeln kann. Termios hat dieses Problem nist
-
Trotzdem kann man mit ncurses sehr schöne Menüsteuerungen machen (a la pine): http://www.cise.ufl.edu/~ppadala/ncurses/NCURSES_HOWTO/
PS: Hab gerade selber genau das gecodet ...
[ Dieser Beitrag wurde am 19.11.2002 um 20:15 Uhr von elk editiert. ]
-
dafür sind die ncurses auch da, um GUI in die Konsole zu basteln
-
Hallo Leute,
danke für die vielen Antworten, sie bringen mich aber nicht richtig weiter. Denn mit der curses.h kann ich leider nicht soviel anfangen, denn das programm, das ich erstellen muß, muß auch unter windoof laufen. das bekomme ich mit der curses bestimmt nicht. ich such eigentlich auch nur eine befehl, der vergleichbar mit getch() bei windoof ist. eine einfach tastatur abfrage ohne auf return zu warten.
gibt es soetwas unter unix/linux ??? und der befehl muß auch zum ansi c **standard gehören...
danke schonmals im voraus...**
-
unter ANSI C gibt es nicht so einen Befehl.
Dir bleibt nur die FAQ Lösung über und du benutzt den Cygnus C++ unter windos oder #ifdefs oder du schaust dir mal die uconio an
-
sorry, aber die uconio steht mir auch nicht zur verfügung, bzw der prof lehnt die benutzung von dieser ab... dann bleibt mir wohl doch nur getchar übrig...danke...
-
Hi,
wenn es nur ein Konsolenprogramm ist, koenntest du bestimmt was mit
inline-Assembler machen. Wie genau inline-Assembler unter Unix geht,
bin ich im Moment am durchlesenmfg
v R
-
ich glaub da wird der Prof. sich am wenigsten früber freuen
naja ein paar Links trotzdem