Argumentbeschreibung

Der argc-Parameter in den Funktionen main und wmain ist eine ganze Zahl, die angibt, wie viele Argumente über die Befehlszeile an das Programm übergeben werden. Da der Programmname als ein Argument gilt, ist der Wert von argc mindestens 1.

Hinweise

Der argv-Parameter ist ein Array von Zeigern auf auf NULL endende Zeichenfolgen, die die Programmargumente darstellen. Jedes Element des Arrays zeigt auf eine Zeichenfolgendarstellung eines Arguments, das an main (oder wmain) übergeben wird. (Informationen zu Arrays finden Sie unter Arraydeklarationen.) Der argv-Parameter kann entweder als Array von Zeigern auf den Typ char (char *argv[]) oder als Zeiger auf Zeiger auf den Typ char (char **argv) deklariert werden. Bei wmain kann der argv-Parameter entweder als Array von Zeigern auf Typ wchar_t (wchar_t *argv[]) oder als Zeiger auf Zeiger vom Typ wchar_t (wchar_t **argv) deklariert werden.

Gemäß der Konvention ist argv[0] der Befehl, mit dem das Programm aufgerufen wird. Allerdings es ist möglich, einen Prozess mit CreateProcess auszuführen, und wenn Sie sowohl das erste als auch das zweite Argument (lpApplicationName und lpCommandLine) verwenden, ist argv[0] möglicherweise nicht der Name der ausführbaren Datei. Verwenden Sie GetModuleFileName, um den Namen der ausführbaren Datei abzurufen.

Der letzte Zeiger (argv[argc]) ist NULL. (Unter getenv in der Laufzeitbibliotheksreferenz finden Sie Informationen über eine alternative Möglichkeit zum Abrufen von Umgebungsvariablen.)

Microsoft-spezifisch

Der Parameter envp ist ein Zeiger auf einen Array von Zeichenfolgen, die mit NULL enden und die Werte darstellen, die in den Variablen der Benutzerumgebung festgelegt wurden. Der Parameter envp kann als ein Array von Zeigern auf char (char *envp[]) deklariert werden oder als ein Zeiger auf Zeiger auf char (char **envp). In einer wmain-Funktion kann der envp-Parameter als Array von Zeigern auf wchar_t (wchar_t *envp[]) oder als Zeiger auf die Zeiger auf wchar_t (wchar_t **envp) deklariert werden. Das Ende des Arrays wird durch einen NULL*-Zeiger angegeben. Der Umgebungsblock, der an main oder wmain übergeben wird, ist eine „eingefrorene“ Kopie der aktuellen Umgebung. Wenn Sie die Umgebung später durch einen Aufruf von_putenv oder _wputenv ändern, ändert sich die aktuelle Umgebung (die von getenv/_wgetenv und den Variablen _environ oder _wenviron zurückgegeben wird), der von envp referenzierte Block ändert sich jedoch nicht. Der envp-Parameter ist in C mit ANSI/ISO C89 kompatibel, in C++ jedoch eine Microsoft-Erweiterung.

Ende Microsoft-spezifisch

Siehe auch

main-Funktion und Programmausführung