Anzeige:
Ergebnis 1 bis 5 von 5

Thema: C: Buffer nach Eingabe löschen (linux vs Solaris)

  1. #1
    Hypergrip
    Gast

    Question C: Buffer nach Eingabe löschen (linux vs Solaris)

    Hi Leutz.

    Also erstmal ne Warnung: Ich bin totaler C-Anfänger.
    In der Schule benutzen wir C auf Sun Solaris Rechnern.
    Im Interricht wurde uns zum leeren des Buffers nach einer Eingabe der Befehl fflush (stdin) beigebracht, was auf den Suns auch funktioniert hat.
    Als ich meine Aufgaben zuhause erledigen wollte, lief das Teil dann allerdings nicht mehr (Das RETURN, blieb im Buffer und sorgte damit bei der nächsten scan-anweisung für eine Fehleingabe).
    Der fehler entsteht sowohl auf meiner SuSE 7.3, als auch auf der Debian & RedHat eines Kumpels.
    Zum Kompilieren wurde auf alles Systemen (auch der Solaris) der aktuelle gcc benutzt.

    Kann mir irgendwer erklären, warum dieser Befehl nur auf der Solaris zu funktionieren scheint, und welchen Befehl ich unter einem anderen Linux-System verwenden kann.

    Thx

    Olli

  2. #2
    Registrierter Benutzer
    Registriert seit
    12.02.2001
    Beiträge
    30
    Hm, sollte eigentlich schon funktionieren...

    Poste mal deinen Code, vielleicht hast du nen anderen Fehler?


    Gruß, Thomas.
    The main failure in computers is usually between keyboard and chair.

  3. #3
    Registrierter Benutzer
    Registriert seit
    12.12.2001
    Ort
    Ortrand
    Beiträge
    8
    Das Problem kenn ich! Eine funktionierende Lösung wär ein 'dummy' getchar(); was ja gleich \n liest und so nicht wirklich bemerkt wird. Ich denke mal heutzutage kann man diesen kleinen Performanceverlust schon verkraften

  4. #4
    Hypergrip
    Gast
    ja, auf die Weise hab ich das dann auch realisiert, allerdings war unsere Dozentin davon garnicht begeistert und laberte was von wegen schlechter Programmierstil usw.
    Ich hab zwar versucht, ihr zu erklären, dass die von ihr angegebene Methode nur auf den plöden Solaris-Rechnern läuft, aber das wollte sie nicht einsehen... *sigh*
    Jedenfalls wurmt mich diese Sache nun und ich wüsste einfach gerne, ob es einen "eleganten" Weg/Befehl gibt, unter einem "normalen" Linux den Buffer zu leeren..

    Olli

  5. #5
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    Worum geht's denn genau?
    wenns nur darum geht, eine art Userinterface auf Konsolen Ebene zu Implementieren, um ein bisschen programmieren zu lernen, dann würd ich sagen, isses schon in Ordnung wenn man etwas "zaubert", ein ernsthaftes Konsolen-UI baut man dann meistens eh mit eigens dafür vorgesehenen Bibliotheken (ncurses).
    Aber vielleicht versuchst du eingfach mal eine ganz andere Funktion, da gibt's sicher mehrere Möglichkeiten unter C.
    Ich würd dir sogar eine sagen, leider hab ich keine Ahnung von C, (werde gerade auf C++ ausgebildet, da gibts cout cin, hehe)

    Ritschi
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •