Argumente der Funktion main()
Nach oben zu Funktion main() - Index
Der Funktion main
werden von der Startroutine von C++Builder drei Parameter (Argumente) übergeben: argc
, argv
und env
.
argc
, ein Integerwert, enthält die Anzahl der Befehlszeilenargumente, die anmain
übergeben werden (einschließlich des Namens der ausführbaren Datei).argv
ist ein Array von Zeigern auf Strings(char *[])
.argv[0]
enthält den vollständigen Pfadnamen des auszuführenden Programms.argv[1]
zeigt auf den ersten String, der auf Betriebssystemebene in der Befehlszeile nach dem Programmnamen eingegeben wird.argv[2]
zeigt auf den zweiten, nach dem Programmnamen eingegebenen String.argv[argc-1]
zeigt auf das letzte anmain
übergebene Argument.argv[argc]
enthältNULL
.
- Auch
env
ist ein Array mit Zeigern auf Strings. Jedes Element vonenv[]
enthält einen String der FormENVVAR=Wert
.ENVVAR
ist der Name einer Umgebungsvariable, wie z.B.PATH
.Wert
ist der Wert, auf denENVVAR
gesetzt ist, wie z.B.C:\APPS;C:\TOOLS;
(fürPATH
).
Wenn Sie einen oder mehrere dieser Parameter deklarieren, müssen Sie die angegebene Reihenfolge einhalten: argc
, argv
, env
. Die folgenden Beispiele sind gültige Deklarationen von Argumenten für main
:
int main()
int main(int argc) /* legal but very unlikely */
int main(int argc, char *argv[])
int main(int argc, char *argv[], char *env[])]
Die Deklaration int main(int argc)
ist zulässig. Allerdings ist es sehr unwahrscheinlich, dass Sie in einem Programm argc
ohne die Elemente von argv
verwenden.
Das Argument env
ist auch über die globale Variable _environ verfügbar.
Für alle Plattformen gilt, dass die Argumente argc
und argv
auch über die globalen Variablen _argc
und _argv
verfügbar sind.
main() in Unicode-Anwendungen
Die Unicode-Version der Funktion main
ist wie folgt deklariert:
int wmain (int argc, wchar_t *argv[], wchar_t *env[])
Der Parameter argv
(und der optionale Parameter envp
) unterstützen Wide-Zeichen.
Die folgende Funktion _tmain
ist ein Makro, das abhängig vom Anwendungstyp zur entsprechenden Version der Funktion main
erweitert wird:
int _tmain (int argc, _TCHAR *argv[], _TCHAR *env[])