Kommandozeilenparameter



  • Hallo,
    ich will in einem c- Programm Kommandozeilen parameter übergeben um diese dann in einem globalen char array zu speichern. Da ich aber nicht weiß, wie lang die übergebenen Parameter sind, stehe ich vor einem Problem 😞 Kann mir da jemand einen Trick verraten?? Oder kann ich irgendwie die Länge eines Arrays im Nachhineine verändern?? Oder sollte ich einfach mit Pointern arbeiten??
    Gruß,
    jacob



  • main() wird ein char ** übergeben. mach doch einfach nen globalen char * und speicher dann den von main da. musst halt auch die anzahl an inhalten speichern. wenn dir das net passt dann liste / sack / queue
    bsp:

    char *argv_global;
    int argc_global;
    void func()
    {
        fprint("%i Parameter übergeben\n", argc_global);
        for (int i = 1; i < argc_global; i++)
            printf("%i. Parameter: %s\n", i, argv_global[i]);
    }
    int main (int argc, char **argv)
    {
        argc_global = argc;
        argv_global = argv;
        func();
    }
    

    <edit>
    nu ja es war halt printf und net fprint 😃 c++ lässt grüssen 😃
    </edit>

    [ Dieser Beitrag wurde am 19.10.2002 um 22:19 Uhr von Korbinian editiert. ]



  • Hallo ...

    einige Compiler definieren '_argc' (bzw '__argc') und '_argv' ('__argv') als externe Variablen.



  • Danke habs so gemacht!!



  • ging doch net 😮


Anmelden zum Antworten