Обработка аргументов командной строки
При запуске программы ОС отводит в её адресном пространстве специальную область памяти, в которой располагает строки, составляющие командную строку. Получив доступ к этой области памяти можно, описав функцию main как имеющую параметры:
- int argc - (argument count) количество элементов командной строки
- char ** argv - (argument vector) указатель на массив указателей на слова, составляющие командную строку
ls -l -a /usr/local
: argc = 4, однако argv содержит на один больше - завершающий NULL
Вывести все переданные параметры командной строки:
int main(int argc, char ** argv)
{
argv++; // поскольку argv[0] - название исполняемого файла
while(*argv) // поскольку в конце null_ptr
{
std::cout << *argv << " ";
argv++;
}
return 0;
}