clrscr() - bei visual c++ nicht möglich?bei borland builder schon!
-
hallo wieso geht bei visual c++ die funktion clrscr() nicht?
und beim borland c++ builder schon?
muß ich mir für visual c++ eine eigene funktion schreiben?
hätte da wer ein stück code - wie ich das angehen kann?
danke
-
gehört eigentlich nach Konsole. Aber soviel zum Thema clrscr(): Diese Funktion gehört nichtindie standard C Library. Sie iste ine Funktion, welche Borland in einer erweiterten Library implementiert hat.
Am Besten du wirfst mal einen Blick in die Konsolen FaQ da könntest du w as finden.
-junix
-
clrscr kenn ich noch von Turbo Pascal, das ja bekanntlich von Borland ist.
Probier es mal mit der Escape-Sequenz "\033[2J". Bei einigen Compilern führt es zu Löschung des Bildschirms, ob es bei Visual C++ klappt...
Try and ...
-
@smo
leider nur bei win98 und wenn die ansi sys eingebunden ist in der config sys.steht aber alles in konsolenfaq, ich würde bei höherem windows auf die konsolenapi mit #include <windows.h> zurückgreifen.
-
das mit <windows.h> geht leider auch nicht. naja ich werde versuchen mir so ein "teil" selbst zu schreiben.
danke nochmal
-
ein (zugeben) nicht ganz sauberes system("cls");
tut es auch.Devil
-
Naja, wie wäre es unter Windows mit...
#include <cstdlib> ... std::system("cls");
?
-
fürs windows geht das :
/************************************************************************ * FUNCTION: cls(HANDLE hConsole) * * * * PURPOSE: clear the screen by filling it with blanks, then home cursor * * * * INPUT: the console buffer to clear * * * * RETURNS: none * *************************************************************************/ void cls(HANDLE hConsole) { COORD coordScreen = { 0, 0 }; /* here's where we'll home the cursor */ BOOL bSuccess; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; /* to get buffer info */ DWORD dwConSize; /* number of character cells in the current buffer */ /* get the number of character cells in the current buffer */ bSuccess = GetConsoleScreenBufferInfo(hConsole, &csbi); // PERR(bSuccess, "GetConsoleScreenBufferInfo"); dwConSize = csbi.dwSize.X * csbi.dwSize.Y; /* fill the entire screen with blanks */ bSuccess = FillConsoleOutputCharacter(hConsole, (TCHAR) ' ', dwConSize, coordScreen, &cCharsWritten); //PERR(bSuccess, "FillConsoleOutputCharacter"); /* get the current text attribute */ bSuccess = GetConsoleScreenBufferInfo(hConsole, &csbi); // PERR(bSuccess, "ConsoleScreenBufferInfo"); /* now set the buffer's attributes accordingly */ bSuccess = FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten); //PERR(bSuccess, "FillConsoleOutputAttribute"); /* put the cursor at (0, 0) */ bSuccess = SetConsoleCursorPosition(hConsole, coordScreen); // PERR(bSuccess, "SetConsoleCursorPosition"); return; } Aufruf: cls(GetStdHandle(STD_OUTPUT_HANDLE));
-
Grauslich! system() - extrem langsam, konsolenabhängig
Nicht mal in Notfällen!
---
Warum geht die <windows.h> nicht? Imho nützt die <conio.h> intern meistens die selben Betriebssystem aufrufe.
Ansonsten siehe Konsolen-FAQ: Dort findest du unter Escapesequenzen und Improved Console Material.
MfG SideWinder
-
hallo - das ist es kurz und bündig.
nur welche header datei von nötein ist habe ich noch nicht ausgetestet.
ich habe von windows.h bis dos.h so ziemlich alles "eingebaut".
-
system? Das ist es nicht!
- extremst langsam
- konsolenabhängig
- die Konsole bewertet den String "cls" - kann sein, dass die Software im nächsten Windows nicht mehr funktioniert
etc.Also lieber mal in die FAQ schauen. Wenn du die <windows.h> sowieso includet hast kannst du auch gleich die Improved Console benützen!
Einmal noch ein Wort zu system("cls")...
MfG SideWinder