Konsolenoutput optimieren!
-
Mir fällt leider kein besserer Titel ein....
Hypothetische Situation: *g*
Man hat ein Programm, das - sagen wir - zählt. In der Ausgabe wird beinahe unlesbar schnell eine Zahl eine Zahl nach der anderen ausgegeben. Jetzt kenn ich von Linux-Anwendungen, dass ein fester Bereich für solche Zwecke definierbar ist.
So könnte man in Zeile eins bis 1000 raufzählen und in Zeile 2 von 1000 auf 0 runter, ohne das der output klopapier-lang wird und eben nur die 2 zeilen einnimmt. Wie kann ich das realisieren?
-
Warum hast Du nicht einfach den Thread im C++-Forum stehen gelassen? Du wärst schon verschoben worden.
Wie dem auch sei, zu Deiner Frage: Du suchst nach ncurses oä.
-
Solange du in einer Zeile bleibst kannst du mit \r an den Zeilenanfang zurück.
-
Wie bereits bashar sagte
#include <iostream> #include <unistd.h> using namespace std; int main() { int x; for(x= 1; x < 1000; x++) { cout << "\r" << x; cout.flush(); usleep(10); } return 0; }
Wenn du in einer zeile bleibst geht das so!
Das usleep hab ich nur rein das mans auch schon sieht wie er zählt
-
Möchte nur nochmal betonen, dass das - wie Bashar bereits sagte - aber wirklich nur mit einer einzelnen Zeile geht, dh. wenn Du mehr brauchst, dann schau Dir auf alle Fälle ncurses an.