In the help of Borland C++ Builder 5 the third parameter env is documented.
Here is the documentation. I am sorry that it is German.
Drei Parameter (Argumente) werden von der Borland
C++Builder-Programmstartroutine an main übergeben: argc, argv und env.
argc ist eine Ganzzahl und gibt die Anzahl der an main übergebenen
Kommandozeilenargumente an, einschließlich des Namens des ausführbaren
Programms selbst.
argv ist ein Array von Zeigern auf Strings (char *[]).
- argv[0] ist der vollständige Pfadname des laufenden Programms.
- argv[1] zeigt auf den ersten String nach dem Programmnamen, der in der
Kommandozeile des Betriebssystems eingegeben wurde.
- argv[2] zeigt auf den zweiten String, der nach dem Programmnamen
eingegeben wurde.
- argv[argc-1] zeigt auf das letzte an main übergebene Argument.
- argv[argc] enthält NULL.
env ist ebenfalls ein Array von Zeigern auf Strings. Jedes Element von env[]
enthält einen String der Form ENVVAR=Wert.
- ENVVAR ist der Name einer Umgebungsvariablen, wie etwa PATH oder COMSPEC.
- Wert ist der Wert, auf den ENVVAR gesetzt ist, wie beispielsweise
C:\APPS;C:\TOOLS; (für PATH) oder C:\DOS\
COMMAND.COM (für COMSPEC).
Bei der Deklaration dieser Parameter muß die exakte Reihenfolge eingehalten
werden: argc, argv, env. So sind beispielsweise sämtliche folgenden
Deklarationen von Argumenten zu main gültig:
int main()
int main(int argc) /* erlaubt, aber sehr ungewöhnlich */
int main(int argc, char * argv[])
int main(int argc, char * argv[], char * env[])]
Die Deklaration int main(int argc) ist zulässig; es ist jedoch sehr
ungewöhnlich, argc in einem Programm zu verwenden, ohne zugleich die
Argumente von argv zu benutzen.
Das Argument env ist auch über die globale Variable environ verfügbar.
In allen Umgebungen sind argc und argv ebenfalls über die globalen Variablen
_argc und _argv verfügbar.
main mit einer Unicode-Anwendung
Die Unicode-Version der Funktion main lautet:
int wmain (int argc, wchar_t *argv[])
Der Parameter argv (und optional der Parameter envp) unterstützt
wide-character-Typen.
Die folgende _tmain-Funktion ist ein Makro, das - abhängig von dem
Anwendungstyp - auf die entsprechende main-Funktion expandiert wird.
int _tmain (int argc, _TCHAR *argv[])