system("cls")....
-
.. wie kann ich im Programm vom System abfragen lassen, dass es ein Unix oder ein Windows system ist?
zb.. system("cls); ...für Windows..... aber das wird nich in Unix systemen erkannt.... und deshalb müsste man eine Selektion machen und beim System abfragen ..was es ist....
..nur... ich hab kA, wass in der If anweisung drin stehn muss
MfG
Crach
-
windows setzt WIN32, also
#ifdef WIN32
//bla bla wincode
#endif
-
! schrieb:
windows setzt WIN32, also
#ifdef WIN32
//bla bla wincode
#endifWindows setzt defines? Wär mir neu
. Aber defines sind wirklich die Lösung. Du lässt den Precompiler den richtigen Code auswählen und setzt vor dem Build ein bestimmtes define.
#define WIN_BUILD //#define UNIX_BUILD #ifdef WIN_BUILD system("cls"); #elif UNIX_BUILD // ... #endif
-
btw. solltest du den Code wenn du ihn öfters verwendest in eine Funktion auslagern. Und: Sei um Himmels willen sparsam mit defines. Die machen dir den Code zur Hölle wenn du sie unüberlegt einsetzt
.
-
Danke
-
MaSTaH schrieb:
Windows setzt defines? Wär mir neu
Aber die Lösung von "!" funzt bei mir...
-
unter Linux wird __linux__, __linux, __unix__ und __unix vordefiniert, ohne -ansi-Parameter auch komplett ohne Unterstriche. Ich vermute, __unix__ ist unter Unix-Systemen recht verbreitet.
-
system("cls") -> warum?
Sowas tut doch weh. Was spricht gegen eine saubere Loesung (siehe Konsolen FAQ)?
-
gzugogz schrieb:
MaSTaH schrieb:
Windows setzt defines? Wär mir neu
Aber die Lösung von "!" funzt bei mir...
Wie soll _Windows_ bitte ein define setzen? Das ganze wird zur Compilezeit verarbeitet. Und kompilieren kann man theoretisch durchaus auch auf einer anderen Plattform.
-
Der Compiler setzt dieses Define, wenn er für ein Windows-Target compiliert.
So war der Satz jedenfalls gemeint, ob das der Wahrheit entspricht, weiß ich nicht.