Läsa in kommandoradsargument

C++:
Läsa in kommandoradsargument

How to:

#include <iostream>

int main(int argc, char* argv[]) {
    std::cout << "Programmet har " << argc << " argument:" << std::endl;
    for (int i = 0; i < argc; ++i) {
        std::cout << "Argument " << i << ": " << argv[i] << std::endl;
    }
    return 0;
}

Kör programmet så här:

$ ./ditt_program Hej Världen
Programmet har 3 argument:
Argument 0: ./ditt_program
Argument 1: Hej
Argument 2: Världen

Djupdykning

I historiens gryning fanns ingen standard för inmatning av argument, men C-standardbiblioteket etablerade argc och argv som huvudsättet att få tillgång till kommandoradsargument. Alternativa metoder inkluderar användning av olika parsing-bibliotek som getopt eller modernare läsningar med boost::program_options. argc står för “argument count” medan argv är “argument vector” som är en array av strängpekare som pekar på varje argument. Det är viktigt att notera att argv[0] är programmets namn, så räkningen av ‘riktiga’ argument börjar från argv[1].

Se även: