Popis argumentu
Parametr argc
v funkcích main
wmain
je celé číslo určující, kolik argumentů se předá programu z příkazového řádku. Vzhledem k tomu, že název programu je považován za argument, hodnota argc
je alespoň jedna.
Poznámky
Parametr argv
je pole ukazatelů na řetězce ukončené hodnotou null představující argumenty programu. Každý prvek pole odkazuje na řetězcovou reprezentaci argumentu předaného main
(nebo wmain
). (Informace o polích najdete v tématu Deklarace pole.) Parametr argv
lze deklarovat jako pole ukazatelů na typ char
(char *argv[]
) nebo jako ukazatel na ukazatele na typ char
(char **argv
). argv
Parametr wmain
lze deklarovat jako pole ukazatelů na typ wchar_t
(wchar_t *argv[]
) nebo jako ukazatel na ukazatele na typ wchar_t
(wchar_t **argv
).
Podle konvence je příkaz, argv[0]
se kterým je program vyvolán. Je však možné vytvořit proces pomocí CreateProcess
a pokud použijete první i druhý argument (lpApplicationName
a lpCommandLine
) argv[0]
nemusí být název spustitelného souboru, použijte GetModuleFileName
k načtení názvu spustitelného souboru.
Poslední ukazatel (argv[argc]
) je NULL
. (Informace getenv
o získání informací o proměnné prostředí najdete v referenčních informacích k knihovně run-time.)
Specifické pro Microsoft
Parametr envp
je ukazatel na pole řetězců ukončených hodnotou null, které představují hodnoty nastavené v proměnných prostředí uživatele. Parametr envp
lze deklarovat jako pole ukazatelů na char
(char *envp[]
) nebo jako ukazatel na char
(char **envp
). wmain
Ve funkci lze parametr envp
deklarovat jako pole ukazatelů na wchar_t
(wchar_t *envp[]
) nebo jako ukazatel na wchar_t
(wchar_t **envp
). Konec pole je označen ukazatelem NULL*
. Blok prostředí předaný main
nebo wmain
je "zablokovaná" kopie aktuálního prostředí. Pokud později prostředí změníte voláním _putenv
nebo _wputenv
, aktuální prostředí (jak je vráceno a _environ
proměnné_wenviron
) se změní, ale blok, na který_wgetenv
getenv
/odkazujeenvp
, se nezmění. Parametr envp
je kompatibilní se standardem ANSI/ISO C89 v jazyce C, ale jde o rozšíření Microsoftu v jazyce C++.
END Microsoft Specific