Console-Fenster leeren?
-
Abend,
mein Programm funktioniert, nur ich find es ziemlich unübersichtlich!
Ich hab in Google gesucht, wie man das Konsolenfenster leeren kann. Also das sie wieder blank ist.Hab da schließlich was gefunden:
void console_clear(){ #if defined(WIN32) system("cls"); #endif #if defined(LINUX) system("clear"); #endif }
Aufrufen tu ich´s so:
console_clear();
Nur passiert irgendwie nichts?
Mach ich da was falsch?Lg Mentras
-
*runterleier*
Standard-C++ kennt keine Konsole. Wie schon zig hundert Leute vor dir solltest du dich daher je nach OS im richtigen Forum erkundigen und bitte die mit wichtig gekennzeichneten Threads in diesem Forum lesen bevor du die nächste Frage postest.
-
aber du solltest noch mal einen blick in die Compiler-Doku werfen:
WIN32 sollte _WIN32 (bzw _WIN32 || _WIN64) sein
LINUX ist imho _UNIX - hab aber gerad auch irgendwo mal nen UNIX gesehen - musst du wie gesagt mal suchen...ich würd ma so was versuchen:
void console_clear() { # if defined(_WIN32) || defined(_WIN64) system("cls"); # elif defined(_UNIX) || defined(UNIX) system("clear"); # endif }
bb
-
Ne, rührt sich auch nichts
Schade, danke aber!
Hier im Forum hab ich nichts gefunden, außer ich steige auf die Improve Console 4.0 um...
Hmm...ich such mal weiter...
-
unskilled schrieb:
elif
Funny Microsoft.
-
Mentras schrieb:
Ne, rührt sich auch nichts
Schade, danke aber!
Hier im Forum hab ich nichts gefunden, außer ich steige auf die Improve Console 4.0 um...
Hmm...ich such mal weiter...
compiler bzw ide?
#include <iostream> #include <cstdlib> void console_clear() { # if defined(_WIN32) || defined(_WIN64) system("cls"); # elif defined(_UNIX) || defined(UNIX) system("clear"); # endif } int main() { std::cout << "Hallo" << std::endl; console_clear(); system("PAUSE"); //ja, ich weiß - das macht man nicht... ^^ }
macht genau das, was es soll - zumindest im msvc... ^^
bb
Seikromoft schrieb:
unskilled schrieb:
elif
Funny Microsoft.
was daran lustig? Oo
wäre mir neu, wenn #elif kein standard wäre...
-
Oh, okay in MSVC++ funktioniert´s...in Code::Blocks nicht.
Aber schlussendlich sollte es dann aber bei der .exe funktionieren, wenn ich es mit MSVC++ kompiliere...oder nicht?
Lg Mentras
-
Auf Unix-Systemen brauchts auch keinen 'system("clear")'-Aufruf.
Das geht mittels Bildschirmsteuerzeichen. (Diese ganzen Steuerzeichen sind zwar ANSI-Standard, aber Microsoft will die scheinbar nicht haben :/)
So kannst du das sonst machen:cout << "\033[2J";
-
Ahhhhhhhhhhh
Heurika xDDD
Nagut, dummer Fehler von mir^^
Hab in einer Switch-Anweisung:
switch(variable) { case 1: funktionsaufruf(); console_clear(); //... } und dann hab ich´s umgedreht. [cpp]switch(variable) { case 1: console_clear(); funktionsaufruf(); //... }
Also mit der Methode:
void console_clear() { # if defined(_WIN32) || defined(_WIN64) system("cls"); # elif defined(_UNIX) || defined(UNIX) system("clear"); # endif }
Okay es klappt!
Danke an alle
Hier als Dankeschön: http://www.fleurop.de/Images/Product_Images/xichliebe_l.jpg
Lg Mentras