argumente als environmentvariablen
-
Hallo, wie kann ich ein Programm so modifizieren, so dass es die Argumente der Kommandozeile als Environmentvariablen auffasst
Vielen Dank
-
Gar nicht. Was deinem Programm an Parametern übergeben wird, ist sache des Betriebssystems. Natürlich hat dein Programm keinen Einfluss darauf, weil es zu diesem Zeitpunkt ja noch gar nicht läuft. Also entweder du sagst deinem Betriebssystem was du von ihm erwartest, oder du guckst im Nachhinein was hinter den Parametern so für Umgebungsvariablen stehen: http://www.cplusplus.com/reference/clibrary/cstdlib/getenv/
-
Mit C ist das nichts zu machen.
Aber betriebsystemspezifisch gibt es die Möglichkeit Kommandozeilenargumente zu Umgebungsvariablen zu machen.Naja wo es ein getenv gibt, findet sich auch ein _putenv. :xmas2:
Damit kann ein Programm seine Parameter als Umgebungsvariabeln im laufenden Prozess definieren.Diese Funktionen und viele mehr finden sich in der CRT von VC (stdlib.h).
Mit der WINAPI gibt es folgendes
GetEnvironmentStrings
http://msdn.microsoft.com/en-us/library/windows/desktopms683187%28v=vs.85%29.aspx
SetEnvironmentStringsoder
GetEnvironmentVariable
http://msdn.microsoft.com/en-us/library/windows/desktop/ms683188%28v=VS.85%29.aspx
SetEnvironmentVariableÜber CreateProcess kannst Du Deinen eigenen Envinroment-Block mitgeben, der unabhängig von den Umgebungsvariablen ist.
Denke bei Linux/Unix gibts vergleichbares. Auch wenn das etliche (ich) nicht kennen.
Gruss