1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

sofortiges getchar()

    • Frage
  • Kampi
  • 7. April 2003 um 16:18
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Kampi
    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

  • Eristoff
    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
    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.

  • Kampi
    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!

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

    ersetz nwconio.h mit conio.h

    so müsste es funktionieren!

  • wolti
    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

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum