Гайд [Блог Программиста]: Параметры командной строки в C++ — урок 9

Статус
В этой теме нельзя размещать новые ответы.
  • 77
  • 18
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
[brokencore.club]_вступление.jpg


При запуске программы из командной строки, ей можно передавать дополнительные параметры в текстовом виде. Например, следующая команда
C++:
ping -t 5 google.com

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

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

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

[brokencore.club]_Основная часть.jpg


Пример 1.1

C++:
#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;
}

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

command-line-arguments-example.png



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

Следующий урок: Классы в C++ →.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу