Функция main позволяет получать извне при запуске некоторые значения. Для этого она имеет следующую сигнатуру:
int main(int argc, char *argv[])
Параметр argc представляет количество аргументов командной строки, которые переданы приложению.
Параметр argv представляет указатель на массив строк, который представляет переданный набор аргументов.
Например, выведем все аргументы из массива argv
на консоль:
#include <stdio.h> 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 и выведет из на консоль:
hello Tom Bob Sam