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.


Anmelden zum Antworten