wofür argc & argv in -> int main?



  • nexte frage (wahrscheinlich zu trivial um sie in der suche zu finden, denn da steht nix zu)

    die mainfunktion kann ich doch ganz normal aufrufen mit

    int main()
    {
    ...code...
    }
    

    nun taucht aber in beispielen immer diese version auf:

    int main(int argc, char* argv[])
    {
    ...code...
    }
    

    funzt auch alles ohne argc und argv, deswegen die frage was das eigentlich bringt?
    oder ist das ein rudiment aus c, und c++ kommt ohne es aus?

    tom



  • Wenn du deinem Programm auf der Kommandozeile Parameter übergibst, kannst du mit argc und argv darauf zugreifen.



  • okay, aber wenn ich das nicht mache, könnte ich die beiden doch auch ruhigen gewissens weg lassen, oder?

    und die parameter auf kommondozeile übergeben, wie könnte das beispielsweise aussehen?

    tom



  • Ja kannste weglassen wenn du es nicht brauchst.
    Könnte vielleicht Probleme mit manchen Compilern geben, keine Ahnung.

    Aussehen könnte sowas so:

    test.exe tst.txt
    
    int main(int argc, char* argv[])
    {
     if(argc > 1){
      cout << argv[1];
     }
    }
    

    in argv[0] steht "test.exe"
    in argv[1] steht "tst.txt"
    argc gibt an wieviele parameter angegeben wurden.


Anmelden zum Antworten