Bildschirm löschen...
-
Geht's ein wenig genauer als "funktioniert nicht" oder "geht nicht"?
-
SYSTEM("CLEAR"); ??
oder geht das nur unterm win?
-
Maguuu schrieb:
SYSTEM("CLEAR"); ??
oder geht das nur unterm win?clear gibts in Windows nicht, zumindest nicht in der cmd.exe. clear gibt es in der PowerShell und kleingeschrieben auch in Unix.
Greetz
-
geht natürlich auch genauer..
Also wenn ich das da oben richtig verstanden habe ist das ja eine Funktion, welche ich aufrufen soll oder?
Das habe ich nun testweise mal in einem Programm gemacht:
#include <iostream.h> int main(void) { void clrscr(); cout << "HuHu"; int a; cin >> a; clrscr(); cout << "Gugu"; } void clrscr() { COORD coordScreen = { 0, 0 }; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsole, &csbi); dwConSize = csbi.dwSize.X * csbi.dwSize.Y; FillConsoleOutputCharacter(hConsole, (TCHAR) ' ', dwConSize, coordScreen, &cCharsWritten); GetConsoleScreenBufferInfo(hConsole, &csbi); FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten); SetConsoleCursorPosition(hConsole, coordScreen); }Und da spuckt der Compiler mir jede Menge Fehler aus...
Oder muss ich dafür noch irgendeine Datei einbinden...?
-
CaribicSurfer schrieb:
Und da spuckt der Compiler mir jede Menge Fehler aus...
Tipp für's nächste Problem: Die Anzahl der Fehlermeldungen ist eine ziemlich nutzlose Information. Der Wortlaut wäre interessant gewesen. Und bei sehr vielen Meldungen bitte auch nur die ersten paar, die übrigen sind meist Folgefehler.
Oder muss ich dafür noch irgendeine Datei einbinden...?
In der MSDN-Library steht bei jeder Funktion dabei, was du brauchst. In diesem Fall tippe ich auf <windows.h>.
-
Hier der verbesserte Code:
#include <iostream> #include <windows.h> void clrscr(); int main () { std::cout << "HuHu"; int a; std::cin >> a; clrscr(); std::cout << "Gugu"; } void clrscr() { COORD coordScreen = { 0, 0 }; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsole, &csbi); dwConSize = csbi.dwSize.X * csbi.dwSize.Y; FillConsoleOutputCharacter(hConsole, (TCHAR) ' ', dwConSize, coordScreen, &cCharsWritten); GetConsoleScreenBufferInfo(hConsole, &csbi); FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten); SetConsoleCursorPosition(hConsole, coordScreen); }Bitte

Edit: Ging natürlich noch sauberer, aber den Rest wirst dann doch noch Du machen können

MfG mikey.
-
stümmt...
in cmd wars "cls"...der SYSTEM(""); aufruf sollte doch aber unter win und *x gehen oder?!
also entweder SYSTEM("CLEAR"); oder SYSTEM("CLS");oder bin ich total im falschen film?
-
also entweder SYSTEM("CLEAR"); oder SYSTEM("CLS");
system ("cls");oder bin ich total im falschen film?
Nein, aber auf dem falschen Weg, denn system sollte man möglichst meiden

-
mikey schrieb:
Hier der verbesserte Code:
Bitte

Edit: Ging natürlich noch sauberer, aber den Rest wirst dann doch noch Du machen können

MfG mikey.Muchos Gracias senor.. funktioniert einwandfrei:)
-
jetzt wo dus sagst, fällt mir das auch wieder ein, ich weiß zwar nimma warum, aber das find ich schon irgendwie raus

-
@Maguuu:
In Unix muss man zudem auf die Groß- und Kleinschreibung achten und da wird clear klein geschrieben. In Win ist das egal. Daher wäre "clear" (klein geschrieben) zur Zeit das portablere (ohne ein ifdef benutzen zu müssen).Greetz