sofortiges getchar()

  • 1. es ist eine C-Frage.
    2.ich hab mir ein programm geschrieben, das von der tastatur liest, und wenn man "a" eingibt, schaltet sich die numlock-led ein, bei nochmaligem "a" schaltet sie sich wieder aus: das problem ist, dass man eben folgendes eingeben muss:

    Code
    a<enter>
    a<enter>


    ich möchte aber, dass das programm sofort reagiert, also sobald ich "a" drücke, soll das led schon leuchten, ohne dass ich enter drücken muss. da gibts sicher etwas fix-fertiges in c, aber ich kenn es eben nicht...
    mfg. kampi

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • Ach ja, falls das nicht eh klar sein sollte: Dafür gibts keine C Funktion aus der Standardbibliothek. Die entsprechenden Funktionen dafür sind Plattform/Vendor abhängig.

    Eins Zwei Gras Bär Hund Vier Muh Macht Die Kuh

  • ja, folgendes problem:
    gcc findet nwconio.h/getche/kbhit nicht!

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • du musst einen select auf den standard input machen. das löst das problem eindeutig. den setzt du noch mit einem timeout (du möchtest den select nicht blocken) und liest dann von dem filedescriptor. unter unix findest sicher einige manpages dazu und das ist eh posix zeugs. das kannst sogar unter win32 verwenden.

    Grüße
    Wolti

    Friends don't let friends drink and su(1) -- Kevin Harris

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!