Читання аргументів командного рядка

C++:
Читання аргументів командного рядка

Як це зробити:

#include <iostream>

int main(int argc, char* argv[]) {
    std::cout << "You have entered " << argc << " arguments:" << std::endl;
    
    for (int i = 0; i < argc; ++i) {
        std::cout << i << ": " << argv[i] << std::endl;
    }
    
    return 0;
}

При запуску програми ./program Hello World!, виведе:

You have entered 3 arguments:
0: ./program
1: Hello
2: World!

Поглиблений аналіз

Традиційно, argc вказує кількість аргументів, а argv — це масив рядків, кожен з яких є одним аргументом. Це старовинний спосіб з часів мови С, проте і в сучасному C++ використовується часто. Як альтернативу, можна використати бібліотеки, такі як Boost.Program_options чи TCLAP, які дозволяють зручніше парсити командний рядок. Розширені можливості включають валідацію введення, автоматичне створення документації щодо параметрів тощо. Власне реалізація читання командного рядка залежить від операційної системи.

Дивіться також