Konsolen Inhalt löschen
-
Morgen ich würde mir gerne eine eigenen Funktion schreiben mit der ich den Bildschirm inhalt von der Konsole löschen kann sowas wie z.b. system("CLS");
oder clrscr();Aber ich hab keine Ahnung wie ich da Anfangen soll hat der wer eine Idee wie man sowas anpacken könnte?
-
Ich glaube, Standard-C++-Mittel sehen sowas nicht vor. Vielleicht kannst du ja mit '\b' oder '\n' tricksen (also mit Backspace alles löschen oder mit Linefeeds alles nach oben schieben)...
EDIT: Ansonsten gibts sicher betriebssystemspezifische Mittel (unter Windows die SetConsole[...]-Funktionen).
-
Eine ClearScreen Funktion könnte so aussehen:
#include <iostream> #include <windows.h> #include <conio.h> void clrscr() { COORD topLeft={0,0}; CONSOLE_SCREEN_BUFFER_INFO csbi; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hOut,&csbi); FillConsoleOutputCharacter(hOut,' ',csbi.dwSize.X * csbi.dwSize.Y, topLeft,NULL); SetConsoleCursorPosition(hOut,topLeft); } int main() { std::cout << "Hallo"; getch(); clrscr(); std::cout << "Hallo2"; }
-
Das von dir FreakY<3Cpp funktioniert perfekt.
Wieso komm ich nie von alleine darauf wie man sowas machen kann

Immer muss ich frage

-
Ist aber halt windows-only...
-
konsole schrieb:
Wieso komm ich nie von alleine darauf wie man sowas machen kann

Immer muss ich frage

Naja, wenn du dich mit der WinAPI nicht auskennst, musst du dich da nicht wundern. Erleuchtungen in diesem Stil kommen nämlich eher selten vor.

Aber du kannst dich natürlich damit auseinandersetzen.
-
Kleiner Tipp:
http://msdn.microsoft.com/en-us/library/aa139672.aspxHier findest du alles, was das Windows Programmierer Herz begehrt.
Allerdings brauchst du da wahrscheinlich ein Weilchen, bis du den Durchblick hast.

Hier mal der Konsolenteil:
http://msdn.microsoft.com/en-us/library/ms682055(VS.85).aspxDa findest du auch die genannten Funktionalitäten.
Es gibt sogar ein Beispiel für das leeren des Screens:
http://msdn.microsoft.com/en-us/library/ms682022(VS.85).aspx