Opis argumentu
Parametr argc
w funkcjach main
i wmain
jest liczbą całkowitą określającą liczbę argumentów przekazywanych do programu z wiersza polecenia. Ponieważ nazwa programu jest traktowana jako argument, wartość argc
jest co najmniej jedna.
Uwagi
Parametr argv
jest tablicą wskaźników do ciągów zakończonych wartościami null reprezentującymi argumenty programu. Każdy element tablicy wskazuje na reprezentację ciągu argumentu przekazanego do main
(lub wmain
). (Aby uzyskać informacje o tablicach, zobacz Deklaracje tablicy). Parametr argv
można zadeklarować jako tablicę wskaźników do typu char
(char *argv[]
) lub jako wskaźnik wskaźników do typu char
(char **argv
). W przypadku wmain
parametru argv
można zadeklarować jako tablicę wskaźników do typu wchar_t
(wchar_t *argv[]
) lub jako wskaźnik do wskaźników do typu wchar_t
(wchar_t **argv
).
Zgodnie z konwencją jest poleceniem, argv[0]
za pomocą którego wywoływany jest program. Można jednak zduplikować proces przy użyciu metody CreateProcess
, a jeśli używasz zarówno pierwszych, jak i drugich argumentów (lpApplicationName
i lpCommandLine
), argv[0]
może nie być nazwą pliku wykonywalnego; użyj polecenia GetModuleFileName
, aby pobrać nazwę pliku wykonywalnego.
Ostatni wskaźnik (argv[argc]
) to NULL
. (Zobacz getenv
w dokumentacji biblioteki czasu wykonywania alternatywnej metody uzyskiwania informacji o zmiennej środowiskowej).
Specyficzne dla firmy Microsoft
Parametr envp
jest wskaźnikiem do tablicy ciągów zakończonych wartościami null, które reprezentują wartości ustawione w zmiennych środowiskowych użytkownika. Parametr envp
można zadeklarować jako tablicę wskaźników do char
(char *envp[]
) lub jako wskaźnik do wskaźników do char
(char **envp
). wmain
W funkcji envp
parametr można zadeklarować jako tablicę wskaźników do wchar_t
(wchar_t *envp[]
) lub jako wskaźnik do wskaźników do wchar_t
(wchar_t **envp
). Koniec tablicy jest wskazywany NULL*
przez wskaźnik. Blok środowiska przekazany do main
lub wmain
jest kopią "zamrożoną" bieżącego środowiska. Jeśli później zmienisz środowisko za pomocą wywołania metody _putenv
lub _wputenv
, bieżące środowisko (zgodnie z wartością i _environ
zmiennymi lub_wenviron
) zmieni się, ale blok wskazywany_wgetenv
getenv
/przez envp
element nie ulegnie zmianie. Parametr envp
jest zgodny z ANSI/ISO C89 w języku C, ale jest rozszerzeniem firmy Microsoft w języku C++.
END Microsoft Specific