argc / argv



  • *Haare rauf*

    Ich hab jetzt schon 3 verschiedene Erklärungen zu diesen beiden Begriffen gelesen, aber ich steig einfach nicht dahinter, was ich damit anfangen soll...
    *snief*
    Jemand ein paar sinnvolle Erklärungen / Beispiele auf Lager?



  • int main(int argc, char *argv[])
    damit kann man .exe-dateien parameter übergeben.
    z.B. bei vielen spielen: game.exe -nofog
    -nofog ist der parameter, den man benutzen kann wenn die gfx-karte keinen nebel anzeigen kann.

    argc ist die anzahl der parameter und in *argv[] sind die parameter selbst..



  • Teste es doch aus:

    #include <stdio.h>
    int 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]);
      printf("argv[%d] = NULL\n", argc);
      return 0;
    }
    

    und ruf das mit verschiedenen Argumenten auf ...



  • Hallöchen,

    IMHO steht argc für argument counter und argv für argument value(s). Das würde dann wohl auch bestätigt werden, wie es Angezeigter Benutzername schon sagte, das argc die Anzahl der übergebenen Paramter beinhaltet, und argv die einzelnen (ich sage jetzt einfach mal ...) Strings. argv könntest du dir auch aus eine Anreihung aus Strings vorstellen. Angenommen wir starten das Programm folgendermaßen:

    meinprogramm.exe hello world ich lebe
    

    dann würde das bedeuten, dass wir insgesamt 5 Parameter (plus einen für NULL) haben:

    • argc = 0, argv[0] = C:\Eigene Dateien\meinprogramm.exe
    • argc = 1, argv[1] = hello
    • argc = 2, argv[2] = world
    • argc = 3, argv[3] = ich
    • argc = 4, argv[4] = lebe
    • argc = 5, argv[5] = (null)

    Ich hoffe, dass das einigermaßen einleuchtend rüberkam !? 😉

    edit: hatte noch was vergessen 😉 gibts dazu schon was der FAQ ? Wenn nicht, dann könnte man des doch vielleicht auch aufnehmen - oder ?

    [ Dieser Beitrag wurde am 19.01.2003 um 19:30 Uhr von guard editiert. ]


Anmelden zum Antworten