Argumente der Funktion main()

Aus RAD Studio (Deutsch)
Wechseln zu: Navigation, Suche

Nach oben zu Funktion main() - Index

Der Funktion main werden von der Startroutine von Embarcadero C++Builder drei Parameter (Argumente) übergeben: argc, argv und env.

  • argc, ein Integerwert, enthält die Anzahl der Befehlszeilenargumente, die main ü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 an main übergebene Argument. argv[argc] enthält NULL.
  • Auch env ist ein Array mit Zeigern auf Strings. Jedes Element von env[] enthält einen String der Form ENVVAR=Wert. ENVVAR steht für den Namen einer Umgebungsvariablen, z. B. PATH. Wert ist der Wert, der ENVVAR zugewiesen wird, z. B. C:\APPS;C:\TOOLS.

Wenn Sie einen oder mehrere dieser Parameter deklarieren, müssen Sie dies in der unten angegebenen Reihenfolge tun: argc, argv, env. Es folgen Beispiele für gültige Deklarationen von main:

int main()
int main(int argc) 		/* gültig, aber unwahrscheinlich */
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 einer Unicode-Anwendung verwenden

Die Unicode-Version der Funktion main ist wie folgt deklariert:

int wmain (int argc, wchar_t *argv[])

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 geeigneten Version der Funktion main erweitert wird:

int _tmain (int argc, _TCHAR *argv[])

Siehe auch

In anderen Sprachen