Zeilensprung ???



  • Hallo zusammen
    Ich hab eine frage, ich mache gerade eine Consolen Anwendung.
    Han ne Frage und zwar in der console wirde ein Text wiedergegeben, es wird Satzweise wiedergegeben ist das möglich das die vorherigen Sätze, die bereits vom Nutzer gelesen wird nach oben (ein oder mehrere Zeilen) verrutscht/Spriengt! Ich will nicht den gesamten Text stehen haben, nur die neuen Sätze sollen erscheinen und die alten verschwinden (aus der Sicht).
    Noch was: für jeden neuen Satz benutze ich "printf()" und Pausen dazwischen, ist das irgendwie möglich das anders zu verfassen so das ich den gesamten text schreibe und dann das Satz- oder Wortweise in der console wiedergebe??
    Danke!



  • Auf der Konsole kannst du nur hintereinanderweg schreiben - mit "\n" markierst du ein Zeilenende (danach geht die Ausgabe am Anfang der nächsten Zeile weiter). Wenn der geschiebene Text den unteren Bildschirmrand erreicht, wird er automatisch nach oben gescrollt (und verschwindet am oberen Bildschirmrand aus dem Sichtfeld).

    Noch was: für jeden neuen Satz benutze ich "printf()" und Pausen dazwischen, ist das irgendwie möglich das anders zu verfassen so das ich den gesamten text schreibe und dann das Satz- oder Wortweise in der console wiedergebe??

    Mir würde höchstens noch einfallen, statt printf() die iostreams zu verwenden (cout<<satz<<endl;), aber wie du die "Wartepausen" umgehen kannst, kenne ich keine Lösung.

    PS: Übrigens kannst du dich bei Standard-C++ nicht darauf verlassen, daß du wirklich eine Konsole hast, an die die Ausgaben gehen - am anderen Ende von cout bzw. stdout könnte genausogut ein Drucker oder eine Datei auf Festplatte stehen.



  • Schau dich mal im Konsolen-Forum um, da wurde schon einiges dazu geschrieben.
    http://www.c-plusplus.net/forum/viewtopic.php?t=39323



  • Es ist also nicht möglich einen Text durch ein Befehl nach unten scrollen zu lassen auch wenn der untere Rand nicht erreicht ist???



  • Nein, jedenfalls nicht portabel (sprich: unabhängig vom verwendeten System) - du müßtest dafür höchstens irgendwelche API-Funktionen deines Systems suchen, die das machen können. C++ kennt nur den Begriff "Stream", den es mit bestimmten Betriebssystemressourcen verknüpfen kann, was das BS draus macht, ist ihm überlassen.


Anmelden zum Antworten