Nur eine Zeile löschen



  • Hallo c++ Community
    Ich schreibe eine Konsolen-Anwendung aber um diese zu lehren ist mir nur der befehl system("cls")zum lehren bekannt weiß jemand ob es möglich ist nur eine Zeile zu löschen.



  • Wenn der Cursor noch in der gleichen Zeile ist könntest du als Workaround die '\b' Escape-Sequenz benutzen und anschließend die Zeile mit Leerzeichen füllen. Anschließend wieder '\b' benutzen um zum Anfang der Zeile zu springen.

    Hier ein kleines funktionierendes Beispiel:

    #include <iostream>
    
    void clear_line(int width = 80){
        std::cout << std::string(width, '\b') << std::string(width, ' ') << std::string(width, '\b');
    }
    
    int main(){
        std::cout << "Hallo Welt!";
        clear_line();
        std::cout << "Byebye Welt!";
    }
    

    Andernfalls musst du entsprechende WinAPI Funktionen benutzen.



  • Hi danke führ die schnelle Antwort ich habe leider das Problem das dann eine Freie Zeile entsteht ⚠ kann man das nicht irgendwie wegbekommen 😕



  • Das macht man so nicht. Wenn du schon so was wie eine Konsolengui haben willst, dann nimm ncurses. Vielleicht lernst du dabei noch ein bisschen was.


Anmelden zum Antworten