# Argumente aus der Kommandozeile?



## Exitus222 (30. August 2006)

Hi, ich habe ein kleines Problemchen. In dem Buch C++ Lernen und professionell anwenden, bin ich an einer stelle die mir sehr komisch vorkommt. Hier heist es "Es besteht noch die möglichkeit, beim starten eines programms auser dem Programmnamen noch weitere zeichenfolgen in der kommandozeile anzugeben.

Folgendes beispiel:


> // gruss.cpp
> // Demo-Programm für Argumente aus der Kommandozeile.
> // Aufruf:  gruss name1 name2
> // ----------------------------------------------------
> ...



Ansich ganz simpel, nur habe ich meine probleme mit den "argumenten von main", ich denke mal nicht das er einfach einen aufruf startet und den benutzer einfach mal so mir nichts dir nichts argumente eingeben lässt. Was er auchn icht tut. Was hat dieses hier für einen sinn und wie rufe ich nun meine mainfunktion auf? Globale variablen jeweils für argv und das Arry?
Aber vielleicht sollt erstmal definiert werden was eigentlcih mit kommandozeile gemeint ist?


----------



## Matthias Reitinger (30. August 2006)

Hallo,



> Ansich ganz simpel, nur habe ich meine probleme mit den "argumenten von main", ich denke mal nicht das er einfach einen aufruf startet und den benutzer einfach mal so mir nichts dir nichts argumente eingeben lässt. Was er auchn icht tut. Was hat dieses hier für einen sinn und wie rufe ich nun meine mainfunktion auf? Globale variablen jeweils für argv und das Arry?


Die Mainfunktion ruft man nicht selbst auf. Sie wird (salopp gesagt) vom Betriebssystem beim Start des Programms aufgerufen.



> Aber vielleicht sollt erstmal definiert werden was eigentlcih mit kommandozeile gemeint ist?


Die Argumente, die main übergeben bekommt, entsprechen den Parametern, die man dem Programm beim Aufruf mitgegeben hat. Ruft man ein Programm bspw. mit programm.exe arg1 arg2 arg3 auf, so werden die Argumente folgendermaßen gefüllt:
argc = 4
argv[0] = "programm.exe"
argv[1] = "arg1"
argv[2] = "arg2"
argv[3] = "arg3"

Grüße,
 Matthias


----------

