Описание аргумента
Параметр argc
в функциях main
и wmain
представляет собой целое число, указывающее, сколько аргументов передается в программу из командной строки. Поскольку имя программы считается аргументом, значение argc
по крайней мере равно единице.
Примечания
Параметр argv
является массивом указателей на строки, завершающиеся значением NULL, который представляет аргументы программы. Каждый элемент массива указывает на строковое представление аргумента, передаваемого main
в (или wmain
). (Сведения о массивах см. в разделе Объявления массивов.) Параметр argv
можно объявить либо как массив указателей на тип char
(char *argv[]
), либо как указатель на указатель на тип char
(char **argv
). argv
Для wmain
параметр может быть объявлен либо как массив указателей на тип wchar_t
(wchar_t *argv[]
), либо как указатель на указатель на тип wchar_t
(wchar_t **argv
).
По соглашению — это команда, argv[0]
с помощью которой вызывается программа. Однако можно создать процесс с помощью CreateProcess
, и если вы используете и первый, и второй аргументы (lpApplicationName
и lpCommandLine
), argv[0]
возможно, не является именем исполняемого файла; используйте для GetModuleFileName
получения имени исполняемого файла.
Последний указатель (argv[argc]
) — .NULL
(Альтернативный метод получения сведений об переменных среды см getenv
. в справочнике по библиотеке времени выполнения .)
Блок, относящийся только к системам Microsoft
Параметр envp
является указателем на массив строк, завершающихся значением NULL, которые представляют значения, заданные в переменных среды пользователя. Параметр envp
можно объявить как массив указателей на тип char
(char *envp[]
) или как указатель на указатели на тип char
(char **envp
). wmain
В функции envp
параметр может быть объявлен как массив указателей на wchar_t
(wchar_t *envp[]
) или в качестве указателя на wchar_t
(wchar_t **envp
). Конец массива обозначается указателем NULL*
. Блок среды, передаваемый в main
или wmain
, является "замороженной" копией текущей среды. Если позже вы измените среду с помощью вызова _putenv
или _wputenv
, текущая среда (возвращаемая/_wgetenv
getenv
переменными и _environ
или _wenviron
) изменится, но блок, на который envp
указывает , не изменится. Параметр envp
совместим с ANSI/ISO C89 в C, но является расширением Майкрософт в C++.
Завершение блока, относящегося только к системам Майкрософт
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по