C, Alle Eingaben durch Pfeiltaste zurückholen



  • Hi Leute,

    Ich bin auf ein kleines Problem gestossen und zwar ist es so:

    Ich möchte gerne eine Funktion schreiben in C, bei der man durch die Pfeiltasten nach oben oder nach unten alle Eingaben durchsehen kann. Also genau wie bei Ubuntu im Terminal. Kann mir jemand weiterhelfen?



  • ?? Also unter Win7 geht das im CMD Fenster doch schon?!?



  • unsure schrieb:

    ?? Also unter Win7 geht das im CMD Fenster doch schon?!?

    Es wird auf Ubuntu laufen... 🙂


  • Mod

    unsure schrieb:

    ?? Also unter Win7 geht das im CMD Fenster doch schon?!?

    Ich glaube, du hast die Frage falsch verstanden.

    Simi18 schrieb:

    Es wird auf Ubuntu laufen... 🙂

    1. Da C weder Terminals noch Tastaturen kennt, verlässt du hier den C-Sprachstandard und musst plattformabhängig werden. Du musst irgendwie mit dem Terminal reden und mit der Tastatur.
    2. Das könntest du auch alles selber machen, aber das wird viel Arbeit
    3. Daher empfehlen sich fertige Bibliotheken. Für Linux zum Beispiel GNU Readline (zusammen mit GNU History, auf der gleichen Seite)



  • Also genau wie bei Ubuntu im Terminal

    Es wird auf Ubuntu laufen...

    Ich glaub ich hab`s echt nicht verstanden 🙂



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89, C99 und C11) in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    unsure schrieb:

    Also genau wie bei Ubuntu im Terminal

    Es wird auf Ubuntu laufen...

    Ich glaub ich hab`s echt nicht verstanden 🙂

    Die Shell hat (genau wie Windows' cmd) die beschriebene Funktionalität. Aber Programme, die in dieser Shell laufen, haben sie nicht automatisch. Das wäre auch eher ungünstig, wenn das so wäre.



  • Kann Sepp nur zustimmen. Definitiv GNU Readline. Da diese ganze Terminalhandlinggeschichte eine ziemlich unangenehme Sache ist, ist die Auswahl auch nicht soo groß. Neben Readline gibt es noch ein paar andere mehr oder weniger gut gepflegte Implementierungen, deren Pluspunkte sich aber praktisch ausschließlich auf nicht-technische Punkte (Lizenz, zu 100% in Perl geschrieben, sowas halt ;)) beschränken. In Sachen Features und insbesondere Verbreitung/Verfügbarkeit hängen sie gegenüber Readline aber teils deutlich zurück.

    Wenn du keine Lust hast, dein Programm entsprechend anzupassen, kannst du dir auch erstmal rlwrap(*) ansehen. Damit kannst du fast jedem Konsolenprogramm brauchbares Line-Editing und Historyfunktionen verpassen. Einfach als rlwrap deinprog aufrufen.

    (*): unter Ubuntu vermutlich einfach apt-get install rlwrap


Log in to reply