Параметры командной строки в C++ — урок 9

117 комментариев

При запуске программы из командной строки, ей можно передавать дополнительные параметры в текстовом виде. Например, следующая команда

ping -t 5 google.com

Будет отправлять пакеты на адрес google.com с интервалом в 5 секунд. Здесь мы передали программе ping три параметра: «-t», «5» и «google.com», которые программа интерпретирует как задержку между запросами и адрес хоста для обмена пакетами.

В программе эти параметры из командной строки можно получить через аргументы функции main при использовании функции main в следующей форме:

int main(int argc, char* argv[]) { /* ... */ }

Первый аргумент содержит количество параметров командной строки. Второй аргумент — это массив строк, содержащий параметры командной строки. Т.е. первый аргумент указывает количество элементов массива во втором аргументе.

Первый элемент массива строк (argv[0]) всегда содержит строку, использованную для запуска программы (либо пустую строку). Следующие элементы (от 1 до argc - 1) содержат параметры командной строки, если они есть. Элемент массива строк argv[argc] всегда должен содержать 0.

Пример 1.1

#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    for (int i = 0; i < argc; i++) {
        // Выводим список аргументов в цикле
        cout << "Argument " << i << " : " << argv[i] << endl;
    }
    return 0;
}

Откройте командную строку и запустите оттуда скомпилированную программу.

Пример использования аргументов командной строки

Для получения числовых данных из входных параметров, можно использовать функции atoi и atof.

Следующий урок: →.

Комментарии к статье: 117

Подождите, загружаются комментарии...

Возможность комментировать эту статью отключена автором. Возможно, во всем виновата её провокационная тематика или большое обилие флейма от предыдущих комментаторов.

Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.