== Einführung ==
In sehr vielen C/C++-Einführungen wird dem Neuling erklärt, dass man (sofern überhaupt verwendet) folgende Zeile Code erstmals ignorieren soll und darauf später zu sprechen kommt: int main(int argc, char argv) {}
Meiner Meinung nach ist das eigentlich eine Codezeile, die direkt nach Variablen und Kontrollstrukturen sofort erklärt werden sollte, jedoch schnell in Vergessenheit gerät und C/C++-Neulinge erst spät lernen einfache Konsolentools zu schreiben.
== Abkürzung ausschreiben ==
Schreiben wir erstmal die Abkürzungen „argc“ und „argv“ aus, um zu erkennen, was dahinter steckt.
Argc: argument count = „Argumentenanzahl“
Argv: argument vector = „Argumentenvektor“ bzw. „Argumentenliste“
== Was steckt in den beiden Variablen? ==
Wenn wir ein Programm ausführen, kann ihm Argumente mitgegeben werden also im Prinzip Variablen, die nicht durch eine Eingabeaufforderung innerhalb des Programms eingelesen werden.
Dadurch können wir mit demselben Programm durch verschiedene Aufrufparameter, ein anderes Verhalten des Programms bestimmen. Haben wir ein Systemprogramm, das unseren Computer neustarten und runterfahren kann, könnten wir auf dem Desktop zwei Verknüpfungen zu demselben Programm anlegen, einmal als Parameter aber „runterfahren“ und bei der zweiten Verknüpfung „neustarten“. Damit ist keine Variableneingabe innerhalb des Programms notwendig.
== Beispielprogramm ==
Hier ein kleines Programm, dass du uns alle Paramter ausgibt.
Display All
== Quellen und weitere Infos ==
In sehr vielen C/C++-Einführungen wird dem Neuling erklärt, dass man (sofern überhaupt verwendet) folgende Zeile Code erstmals ignorieren soll und darauf später zu sprechen kommt: int main(int argc, char argv) {}
Meiner Meinung nach ist das eigentlich eine Codezeile, die direkt nach Variablen und Kontrollstrukturen sofort erklärt werden sollte, jedoch schnell in Vergessenheit gerät und C/C++-Neulinge erst spät lernen einfache Konsolentools zu schreiben.
== Abkürzung ausschreiben ==
Schreiben wir erstmal die Abkürzungen „argc“ und „argv“ aus, um zu erkennen, was dahinter steckt.
Argc: argument count = „Argumentenanzahl“
Argv: argument vector = „Argumentenvektor“ bzw. „Argumentenliste“
== Was steckt in den beiden Variablen? ==
Wenn wir ein Programm ausführen, kann ihm Argumente mitgegeben werden also im Prinzip Variablen, die nicht durch eine Eingabeaufforderung innerhalb des Programms eingelesen werden.
Dadurch können wir mit demselben Programm durch verschiedene Aufrufparameter, ein anderes Verhalten des Programms bestimmen. Haben wir ein Systemprogramm, das unseren Computer neustarten und runterfahren kann, könnten wir auf dem Desktop zwei Verknüpfungen zu demselben Programm anlegen, einmal als Parameter aber „runterfahren“ und bei der zweiten Verknüpfung „neustarten“. Damit ist keine Variableneingabe innerhalb des Programms notwendig.
== Beispielprogramm ==
Hier ein kleines Programm, dass du uns alle Paramter ausgibt.
Source Code
- #include <iostream>
- // Für getchar, dass das Programm nicht direkt beendet wird und wir den Konsolenoutput sehen
- #include <cstdio>
- //bzw: int main(int argc, char* argv[]) {
- int main(int argument_count, char* argument_vector[]) {
- // Wie viele Parameter übergeben wurden
- // Standardmäßig wird der Pfad des Programms als erster Parameter gesetzt
- std::cout << "Insgesamt wurden " << argument_count << " Paramter \x81 \bbergeben" << std::endl << std::endl;
- // Durch jedes Element des Vektors iterieren
- for(int i = 0; i < argument_count; i++) {
- std::cout << "Argument " << i << ": " << argument_vector[i] << std::endl;
- }
- std::cout << std::endl << "Dr\x81 \bcke eine beliebige Taste, um das Programm zu beenden.";
- std::getchar();
- return 0;
- }
== Quellen und weitere Infos ==
- http://stackoverflow.com/questions/3024197/what-does-int-argc-char-argv-mean
- http://publications.gbdirect.co.uk/c_book/chapter10/arguments_to_main.html
11,354 times viewed