Argumentenliste argc und *argv[] / **argv
>>int argc<< und >>char *argv[]<< dienen zur Argumentenweitergabe an ein zu startendes Programm. Dadurch kann ein Programm durch Übergabe von Argumenten entsprechend gesteuert werden.
char *argv[] bzw. char **argv
Bei argv[] >>Argument Vector<< handelt es sich um einen Zeiger auf ein char-Array, in welchem alle übergebenen Argumente aufgelistet sind.
Da *argv[] ein Zeiger auf einen Character darstellt, können nicht nur einzelne Zeichen - sonder ganze Strings darin gespeichert werden.
Zu beachten ist auch, dass im ersten Arrayeintrag >>argv[0]<< grundsätzlich immer der Name der Ausführbaren Datei steht!
int argc
In argc >>Argument Count<< steht die Anzahl der Argumente drin (natürlich von Null beginnend), die an das Programm übergeben wurden - oder auch anders ausgedrückt, hier ist die Arraygröße von *argv[] gespeichert!
// Dateiname: argcv.c // Argumentenliste in C ausgeben #include <stdio.h> // Präprozessor Direktive int main( int argc, char **argv ) { // Ausgabe der Argumente int i; for( i=0; i<argc; i++ ) printf("argv[%d] = %n ", i, argv[i]); return 0; // Exit Status (0: erfolgreich) } /* // Kompilierung gcc -g argcv.c -o argcv // Aufruf ./argcv argument1 argument2 argument3 // Ausgabe argv[0] = ./argcv argv[1] = argument1 argv[2] = argument2 argv[3] = argument3 */
// Dateiname: argcv.cpp // Argumentenliste in C++ ausgeben #include <iostream> using namespace std; int main( int argc, char *argv[] ) { // Ausgabe der Argumente int i; for( i=0; i<argc; i++ ) cout << "argv[" << i << "] = " << argv[i] << " "; return 0; } /* // Kompilierung g++ -g argcv.cpp -o argcv // Aufruf ./argcv argument1 argument2 argument3 // Ausgabe argv[0] = ./argcv argv[1] = argument1 argv[2] = argument2 argv[3] = argument3 */