1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

sofortiges getchar()

    • Frage
  • Kampi
  • 7. April 2003 um 16:18
  • Unerledigt
  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 7. April 2003 um 16:18
    • #1

    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.

  • Eristoff
    9
    Eristoff
    Mitglied
    Reaktionen
    1
    Punkte
    886
    Beiträge
    127
    • 7. April 2003 um 17:49
    • #2

    Versuchs mit kbhit()

    BSP:
    #include <stdlib.h>
    #include <nwconio.h>
    #include <stdio.h>

    main ()
    {
    while(!kbhit());
    printf ("the character is ");
    getche ();
    getch ();
    }

  • jjan
    6
    jjan
    Mitglied
    Reaktionen
    8
    Punkte
    293
    Beiträge
    57
    • 7. April 2003 um 18:26
    • #3

    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

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 7. April 2003 um 18:45
    • #4
    Zitat von Eristoff

    Versuchs mit kbhit()

    BSP:
    #include <stdlib.h>
    #include <nwconio.h>
    #include <stdio.h>

    main ()
    {
    while(!kbhit());
    printf ("the character is ");
    getche ();
    getch ();
    }

    Alles anzeigen

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

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

  • Eristoff
    9
    Eristoff
    Mitglied
    Reaktionen
    1
    Punkte
    886
    Beiträge
    127
    • 7. April 2003 um 19:18
    • #5

    ersetz nwconio.h mit conio.h

    so müsste es funktionieren!

  • wolti
    4
    wolti
    Mitglied
    Punkte
    110
    Beiträge
    13
    • 7. April 2003 um 19:35
    • #6

    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

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung