Wie kann ich eine Ausgabe verschwinden lassen?



  • Hallo liebe Community,
    ich hoffe ich bin im Richtigen Forum gelandet 😛

    Also folgendes:
    Ich habe ein Quellcode und würde darin gerne eine Ausgabe verschwinden lassen:

    #include <iostream>
    #include <string>

    int main ()
    {

    std::cout << "Hall, bitte geben sie ihren Vor- und Nachnamen ein" << std::endl;
    std::string vorname;
    std::cin >> vorname;
    std::string nachname;
    std::cin >> nachname;

    std::cout << "Du bist ein Scherzkeks " << vorname << " "<< nachname <<std::endl;
    std::cout <<"\n bitte drücken sie einen knopf :)" << std::endl;
    return (0);

    }

    Meine Frage ist jetzt, wie kann ich die Ausgabe, also den Namen z.B. "Max Mustermann" und die Zeile "Hallo geben sie bitte ihren vor und nachnamen ein", verschwinden lassen, nachdem man ihn also den Namen eingegeben hat?

    In der Box steht ja dann:

    Hallo, geben sie bitte ihren vor und nachnamen ein
    Max Mustermann
    Du bist ein Scherzkeks Max Mustermann

    Bitte drücken sie einen knopf
    Drücken sie eine beliebige Taste...|

    Wäre euch dankbar wenn ihr mir ein wenig helfen könnt 😉

    Mfg
    iTron



  • Hi,

    habe nicht so die Ahnung von C++, aber hast du mal nach "C++ Clear Screen" gegooglt? Müsste irgendwas mit "cls" sein. Und damit nichts angezeigt wird, kann man sicher irgendwie mit einer while-Schleife erreichen.



  • hiermit sollte es funktionieren:

    #include <cstdlib>
    
    int main(int argc,char* argv[])
    {
    	std::cout << "test1" << std::endl;
    	std::cout << "test2" << std::endl;
    	system("cls");
    	std::cout << "test3" << std::endl;
    }
    

    jperl



  • Hey vielen dank 😉
    hat mir echt weitergeholfen 🙂

    mfg
    iTron



  • Dabei ist anzumerken, dass system("pause"); nicht dem Standard-C++ entspricht und plattformabhängig ist. Solange du nur kleine Testprogrämmchen unter Windows schreibst, ist das ok, aber denk einfach dran, falls du mal was portieren willst. 😉



  • Unter Windows ist diese Funktion hier performanter:
    http://msdn.microsoft.com/en-us/library/ms682663(VS.85).aspx

    Eine Funktion cls kann dann so ausseh:

    void cls ( HANDLE buffer = ::GetStdHandle(STD_OUTPUT_HANDLE) )
    {
    	::CONSOLE_SCREEN_BUFFER_INFO csbi;
    	::GetConsoleScreenBufferInfo( buffer, &csbi );
    
    	::COORD start = {0,0};
    	::FillConsoleOutputCharacter ( buffer,' ',csbi.dwSize.X*csbi.dwSize.Y, start, 0);
    
    	::SetConsoleCursorPosition (buffer, start );
    }
    


  • Noch ein Befehl zum Ausgabe löschen

    #include <conio>
    
    clrscr();
    

    oder gehört clrscr(); zu C ?? mhhm ka funktioniert aufjedenfall auch ist aber auch Plattform abhängig ^^



  • Also ich habe es jetzt mit dem clear screen befehl hinbekommen 🙂 dankeschön übrigens für die weitern beispiele 🙂

    string nachname;
    cin >> nachname;
    system ("cls");
    

    mfg
    iTron



  • iTron schrieb:

    Also ich habe es jetzt mit dem clear screen befehl hinbekommen 🙂 dankeschön übrigens für die weitern beispiele 🙂

    Es mag funktionieren, du solltest nur im Hinterkopf behalten das es in reinen C++ KEINE standardisierte Funktion zum löschen des Bildschirminhaltes gibt (Falls du mal unter einem anderen Betriebssystem programmierst funktioniert keine der hier genannten Lösungen).

    system("cls"), conio und natürlich auch die WinAPI-Lösung ist Systemspezifisch.


Log in to reply