conio nicht vorhanden ???



  • halli hallo,

    ich habe slackware drauf und programmiere C mit socket programmierung. leider vermisse ich die conio.h wie sie einst unter windows gegeben hat. und zwar darf es keine funktion die auf ein return warten, sondern auf eine EINAGBE ( also ein tastendruck auf der tastatur !!!)
    die funktionen bracuhen nicht zu windows portabel sein (sowas mach ich dann schon mit präprozessor befehlen)

    also was suche ich ?

    eine funktion die mir einzelne zeichen von der tastatur in eine variable übergibt, ohne auf ein return zuwarten, sondern eben bei tastendruck weiter fährt ...



  • Is das ein Quiz? 😃 .......Den Compiler mit dem du programmierst, kenne ich nicht. Is der Freeware? Ich habe ein ähnliches Problem, allerdings ist bei meinem die conio.h vorhanden, es fehlt nur eine Funktion........ergo: Es scheint jeder Compiler eine andere #include-dateienansammlung zu haben. Aber zurück zum Thema: Die Funktion getch() bzw. getche() ist für die Eingabe eines Zeichens über die Tastatur gedacht. Leider sind diese Funktionen leider auch Bestandteil von conio.h :-(.........Also mehr kenn ich ehrlich gesagt auch nich. Trotzdem noch viel Glück beim Suchen und Finden



  • Hallo,

    conio.h ist kein Standard, deswegen ist es bei Slackware nicht dabei. Für Linux gibt es ncurses, was ähnliche Dienste leistet:
    http://www.gnu.org/software/ncurses/ncurses.html



  • ncurses musste halt am Anfang des Programms initialisieren und am Ende deinitialisieren (also das terminal auf den alten Stand zurücksetzen). Das sieht dann so aus:

    include <curses.h>
    
    int main(void) {
      initscr(); /* ncurses initialisieren */
    
      getch(); /* Ja, das gibts in ncurses auch. */
    
      endwin(); /* ncurses beenden */
    
      return 0;
    }
    

    Diese Initialisierung ist erforderlich, weil ncurses keine simple console-i/o library, sondern ein ganzes windowing toolkit ist (Stammt aus der Zeit, als die Rechner noch zu langsam für X waren). Wie dem auch sei, wenn dich ncurses interessiert, schau mal hier rein: http://web.cs.mun.ca/~rod/ncurses/ncurses.html



  • Wobei ich glaube #include <ncurses.h> da besser ist, weil das weiter entwickelt wird.



  • ich danke euch, ncurses rockt, sogar noch besser als das zeugs von M$ 🙂


Anmelden zum Antworten