Основы Visual C++
Урок 10. Параметры командной строки
В функцию main мы можем передавать параметры. Делается это следующим образом:
. void main(int argc, char* argv[])
В первом аргументе (argc) передается количество параметров командной строки. В это число входит и имя самого exe-файла. Второй параметр (argv) представляет из себя массив. Элементами его и являются параметры командной строки (нулевой элемент — это имя самого exe-файла, элемент с индексом один — это первый параметр, с номером два — второй и т. д.)
Теперь более конкретный пример. Создайте проект для обычного консольного приложения и добавте в него следующий код:
#include void main(int argc, char* argv[])< for(int i=0;i >
Нашему приложению будет передаваться два параметра командной строки, которые будут показываться на экране (вместе с именем exe-файла). Но из среды Visual С++ передать параметры нельзя, поэтому мы просто скомпилируем нашу программу, а запустим ее уже из командной строки. Для компиляции нажмите на кнопочку
Уроки C# / Аргументы командной строки
Теперь давайте запустим нашу программу. Перейдите режим командной строки, смените каталог на debug (именно в нем и содержится наш откомпилированный exe-файл), добавьте парочку аргументов командной строки и нажмите Enter. Вы должны получить приблизитетльно следующее:
Как видите, наша программа напечатала все параметры командной строки. Именно это мы от неё и хотели.
Теперь давайте посмотрим, как можно запускать программу с параметрами командной строки прямо из Visual C++. Для этого зайдите в меню Project, далее выберите Settings и в появившемся диалоговом окне перейдите на вкладку Debug. В поле Program arguments добавьте несколько параметров (у нас это 123 и 456):
Нажмите OK и затем запустите программу обычным путем, нажав на Ctrl+F5. Программа покажет наши параметры:
![]() |
Источник: netcode.ru
C Урок 33. Аргументы командной строки
До сих пор мы запускали программу обычным образом, не используя при этом никаких параметров.
Но зачастую мы видим, что многие программы и утилиты, наоборот, требуют при запуске указывать параметры запуска после имени запускаемой программы. Причём данные программы не только консольные, но и с графическим интерфейсом, на которые, например, ложится ярлык на рабочий стол и в его свойствах прописываются параметры командной строки.
Думаю, что и нам пора разобраться, каким образом мы можем передавать некоторые параметры в нашу программу, чтобы она себя вела определённым образом в зависимости от их значений. Вернее даже не каким образом мы можем их передавать в программу, а каким образом наша программа сможет их обрабатывать.
Уроки C# – Аргументы командной строки – GetCommandLineArgs
Оказывается, функция main, которая вызывается при запуске программы автоматически (говорят даже, что данная функция является точкой входа в программу, хотя это не совсем так и это легко можно доказать, зайдя в отладку), тоже может иметь входные параметры (или аргументы).
До сих пор, когда нам не требовались входящие аргументы, наша функция mian() имела следующий заголовок
int main()
А чтобы функция main() увидела аргументы командной строки, то мы её объявлять должны уже с параметрами и её заголовок при этом будет выглядеть вот так
int main( int argc, char *argv[])
Также возможен ещё вот такой вариант
int main( int argc, char **argv)
В данном случае в первом аргументе будет содержаться количество переданных в командной строке параметров, а во втором — указатель на массив строк, в которых и содержатся данные параметры, а содержатся они там именно в символьном виде. Первый параметр, в котором содержится количество параметров, не может быть меньше 1, так как хотя бы один параметр всегда будет — это имя файла в том виде, в котором мы его вводим в командой строке. Следовательно, второй параметр также никогда не будет пустым.
Как именно пользоваться данными параметрами, мы лучше узнаем сразу в практической части, к которой сейчас и приступим.
Проект мы сделаем, как всегда, из проекта прошлого урока с именем MYPROG32 и присвоим ему имя MYPROG33.
Откроем наш проект в Eclipse, произведём его первоначальную настройку и удалим весь наш код из функции main() за исключением возврата. Функция main() приобретёт вот такой вид
int main()
return 0; //Return an integer from a function
Соответственно, заголовок функции main() мы приведём к следующему виду, добавив в него аргументы
int main( int argc, char *argv[])
Удалим все глобальные структуры, в том числе и закомментированную.
Первым делом давайте выведем в консоль количество аргументов, переданных в нашу программу с помощью параметров командной строки
Источник: narodstream.ru
Дополнительные статьи
Функция main позволяет получать извне при запуске некоторые значения. Для этого она имеет следующую сигнатуру:
int main(int argc, char *argv[])
Параметр argc представляет количество аргументов командной строки, которые переданы приложению.
Параметр argv представляет указатель на массив строк, который представляет переданный набор аргументов.
Например, выведем все аргументы из массива argv на консоль:
#include int main(int argc, char *argv[]) < for (int i = 0; i < argc; i++) < printf(«%s n», argv[i]); >return 0; >
Если приложению НЕ передается ни одного аргумента, то argc равен 1. А элемент argv[0] представляет имя исполняемого файла. Например, пусть у нас приложение компилируется в файл hello.exe , то при запуске этого файла командой
hello
Значение элемента argv[0] будет равно «hello». Это будет единственный элемент в массиве.
Но передим приложению некоторые аргументы. Например, запустим файл hello.exe с помощью следующей команды:
hello Tom Bob Sam
Тогда программа получит все строки через массив argv и выведет из на консоль:
Источник: metanit.com