При запуске программы из командной строки, ей можно передавать дополнительные параметры в текстовом виде. Например, следующая команда
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.
Следующий урок: Классы в C++ →.
Комментарии к статье: 117
Возможность комментировать эту статью отключена автором. Возможно, во всем виновата её провокационная тематика или большое обилие флейма от предыдущих комментаторов.
Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.