kostenloser Webspace werbefrei: lima-city


C++ / Linux: Eingabe in Konsole abfangen

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.

    Hallo!

    Ich bin gerade dabei, mir in C++ unter Linux ein kleines Programm zu schreiben, das ein Zeichen in der Konsole darstellt. Mit den Nummernblock kann man das Zeichen nach Links/Rechts/Oben/Unten steuern. So weit, so gut.
    Jedoch habe ich ein kleines Problem. Wenn ich auf die Eingabe eines Zeichens mit cin warte, so muss ich immer nach dem Eingabezeichen (z.B. 6) die Enter-Taste drücken, damit mein Programm das bemerkt.
    Wäre es möglich, dass das Programm sofort mitbekommt, dass eine Taste gedrückt wurde?
    Bzw. könnte ich das auch mit den Pfeiltasten realisieren?

    lg
    Vali
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. sowas habe ich bisher nur mit assembler geschafft.

    aber vll gehts mit: cin.get();
    wobei zwischen den beiden klammern evtl. ein scancode oder so stehen muss.
    so habe ich mir gedacht dass es gehen könnte
  4. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.

    naja, auch wenn ich cin.get() schreibe, wartet das Programm immer, bis ich die Enter-Taste gedrückt habe. Könnte ich das nicht irgendwie übserspringen?
  5. Also ich hab zwar von C++ nicht sonderlich viel Ahnung, da ich damit nie mehr als Hello-World Programme geschrieben hab, aber vor sowas sitzt du ja auch gerade. Und Pascal & Basic gibts dafür Befehle wie "Inkey" oder "getchar".
    Solche ähnlichen gibts auch unter C++. Probiere mal getch() oder getchar(). Die sollten dir zu jeder Gedrückten Taste direkt einen Wert liefern. ka was sie bei den Pfeiltasten ausgeben
  6. t*****o

    es gibt unter c/c++ tatsächlich getchar bzw. getc. das sollte dir zumindest beim nummernblock helfen. wenn du was anderes brauchst, müsstest du nochmal nach scancodes suchen, weil getc(har) nur chars zurückgibt, und cursor-tasten keine chars erzeugen.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!