int main(int argc, char* argv[])



  • Wofür stehen dieser ganzen Parameter in der Hauptfunktion ?

    Immer wenn ich eine neue Konsolen Anwendung mit dem Borland Builder anlege dann stehen da diese Parameter in der Hauptfunktion.

    Wo an wann braucht man die in der Haupfunktion ?

    int main(int argc, char* argv[])
    {
    
    return (0);
    }
    

    Bisher kannte ich das nur so z.n.

    int main()
    {
    
    cout<<add(1,1);
    
    return 0;
    }
    int add(int zahl1 , int zahl2)
    {
    int ergebniss;
    
    ergebniss = zahl1 + zahl2;
    
    return ergebniss;
    }
    


  • die sind für commandline arguments da.

    anzahl der argumente und ein array von zeichenketten in entsprechender länge.


  • Administrator

    @Fragend,
    Wie es fused schon sagte, sind die für Commandline Argumente da. Mach dir ein einfaches Programm, wodurch du siehst, was das genau heisst:

    #include <iostream>
    
    int main(int argc, char* argv[])
    {
      for(int i = 0; i < argc; ++i)
      {
        // argv[i] ist null-terminiert.
        std::cout << argv[i] << std::endl;
      }
    
      return 0;
    }
    

    Kompilieren und Linken, zum Beispiel zu Test.exe
    Danach ausführen:

    C:> Test.exe a b c d e
    C:> Test.exe first second third
    C:> Text.ese "längeres argument" und noch vier andere
    

    argv[0] ist meistens noch eine zusätzliche Variable, welche den Pfad zu deiner auführbaren Datei beinhaltet. Man sollte aber nicht unbedingt darauf gehen. Der Standard schreibt da nur dazu, dass es der Name sein soll, mit welchem das Programm aufgerufen wurde oder ein leerer String.

    Grüssli


Anmelden zum Antworten