Skip to the content.

Обработка аргументов командной строки


При запуске программы ОС отводит в её адресном пространстве специальную область памяти, в которой располагает строки, составляющие командную строку. Получив доступ к этой области памяти можно, описав функцию main как имеющую параметры:

ls -l -a /usr/local: argc = 4, однако argv содержит на один больше - завершающий NULL

argv

Вывести все переданные параметры командной строки:

int main(int argc, char ** argv)
{
    argv++; // поскольку argv[0] - название исполняемого файла
    while(*argv) // поскольку в конце null_ptr
    {
        std::cout << *argv << " ";
        argv++;
    }
    return 0;
}