Parameterübergabe bei Programmstart

  • Ich möchte gern ein Programm schreiben, was bei Programmstart einen Parameter übernimmt und bearbeitet.

    Das denke ich mir so:

    ...
    int main(Parameter)
    {
    ...
    }
    ...

    Dann in der Konsole etwa so aufrufen Programmname Parameterwert
    und das Programm verarbeitet den Wert!

    Ganz einfach wäre eine Art Additionsprogramm "Addiere.exe 4t8"
    t steht für einen Trenner und 4 und 8 werden dann addiert und im Verlauf des Programms ausgegeben. Ich brauche nur die Theorie. Es interessiert mich einfach mal.

    Danke

  • Dafür gibt es Platzhalter:

    Code
    #include <stdio.h>
    
    
    int main(int argc, char *argv[]) {}

    Hier werden alle Parameter in ein Array geschrieben. Der Zugriff erfolgt so:

    Code
    #include <stdio.h>
    
    
    main(int argc, char *argv[]) {
      int i;
      printf("argc = %d\n", argc);
      for (i=0; i < argc; i++)
        printf("argv[%d] = %s\n", i, argv[i] );
    }

    und einen Trenner wie "t" braucht man hier nicht, da jedes Kommando udn Parameter von der Shell durch ein Leerzeichen getrennt wird. Dein Trenner ist also ein Leerzeichen.
    Der Aufruf erfolgt dann so:

    Code
    additionsprogramm.exe 2 3

    Der code im Programm:

    Code
    #include <stdio.h>
    
    
    main(int argc, char *argv[]) {
      int i;
      double result = 0;
      for (i=0; i < argc; i++)
        result = result + argv[i] ;
      printf("Das Ergebnis der addierten Parameter ist: %d",result);
    }

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • Hi Grundsaetzlich geht das,
    die funktion sieht so aus:
    main(int argc, char* argv[])
    ardc gibt die anzahl der Parameter an, argv sind die Parameter,
    die genaue Beschreibung suche ich auch gerade.
    MFG
    Matthias