Lesen von Kommandozeilenargumenten

C++:
Lesen von Kommandozeilenargumenten

So geht’s:

In C++ kannst du mit int argc und char *argv[] arbeiten, die im Hauptfunktionsheader stehen. argc zählt die Argumente, argv ist ein Array der Argumentwerte.

#include <iostream>

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

Ausgabe könnte sein für ./programm Hallo Welt:

Anzahl Argumente: 3
Argument 0: ./programm
Argument 1: Hallo
Argument 2: Welt

Tiefgang:

Kommandozeilenargumente sind ein Langzeitstandard. Sie gehen zurück auf C und UNIX. In modernen C++ Projekten nutzen einige Entwickler Bibliotheken wie boost::program_options oder TCLAP für mehr Flexibilität und leichtere Syntax.

Die Standardimplementierung (argc und argv) hält Dinge einfach, kann aber knifflig werden, wenn Argumente zusätzliche Verarbeitung erfordern oder nicht nur Strings sind.

Eine Alternative für einfache Fälle könnte die Environment Variable sein, aber das ist weniger direkt und nutzerfreundlich.

Siehe auch: