std::cin - einzelnes zeichen einlesen



  • In wie weit ist es mit std::cin oder anderen C++-Hausmitteln möglich, einzelne Zeichen als Eingabe abzufangen oder ist das plattformabhängig?

    Es soll also nicht gewartet werden, bis die Eingabe explizit via ENTER/"\n" an stdin gesendet wird, sondern vielmehr direkt nach Eingabe eines beliebigen Zeichens ohne Umschweife mit der Auswertung des jeweils eingegebenen Zeichens begonnen werden.

    Vergleichbares Verhalten ist in jedem Media-Player (z.B. mplayer im Kommandozeilenmodus) zu finden: Jemand drückt SPACE und der entsprechende PLAY-PAUSE-TRIGGER wird ausgelöst, unabhängig von "\n" oder anderen Endzeichen.

    cin.get() wirkt hier ebenfalls nur bei erfolgreichem "Absenden" via ENTER aus dem Terminal heraus.

    Unter Windows gibt es afaik getch(), welches - soweit ich sehe - das von mir gewünschte Verhalten bereitstellt - unter Linux scheint es etwas vergleichbares nicht zu geben, oder?

    mfg Uwe



  • Ich sehe gerade, dass das selbe Problem erst vor kurzem in ähnlicher Weise behandelt wurde, http://www.c-plusplus.net/forum/viewtopic-var-t-is-180510.html .
    Komisch, dass die Suchfunktion den entsprechenden Threda nicht ausgespuckt hat.


Anmelden zum Antworten