argc und argv in C und C++

C und C++ Argumentenliste int argc char *argv[]



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!


Argumentenliste in C

// 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
*/
Argumentenliste in C++
// 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
*/