Описание аргумента

Параметр 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, текущая среда (возвращаемая/_wgetenvgetenvпеременными и _environ или _wenviron ) изменится, но блок, на который envp указывает , не изменится. Параметр envp совместим с ANSI/ISO C89 в C, но является расширением Майкрософт в C++.

Завершение блока, относящегося только к системам Майкрософт

См. также

Функция main и выполнение программ