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).argvist 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
envist ein Array mit Zeigern auf Strings. Jedes Element vonenv[]enthält einen String der FormENVVAR=Wert.ENVVARist der Name einer Umgebungsvariable, wie z.B.PATH.Wertist der Wert, auf denENVVARgesetzt 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[])