Probleme mit getopt bzw. Pointer-Strukturen



  • Hi!

    Zuallererst:
    Ich progge jetzt zwar schon ein Weilchen C aber wie das so genau WIRKLICH mit den Pointer funzt blieb mir bis jetzt unergründlich! Von daher bitte ich euch die Antworten, so sie denn in diese Richtung gehen, Newbiefreundlich zu gestalten ...

    Also:

    Hab ne Funktion mit mehreren Parametern und Optionen. Das funzt auch alles prächtig und über printf - Befehle wie:

    printf("Output-List: %s\n", argv[argc-1]);
    
    //oder 
    
    printf("Neue Grauwertanzahl gewählt(%s)!\n",optarg);
    

    spucken Ausgaben aus, die dem entsprechen was ich mir vorstellte!
    Prob ist, ich brauch z. Bsp. im unteren Fall einen Integer zum weiterverarbeiten!
    Der triviale Ansatz, einfach zu casten:

    int x = (int)optarg;
    

    führt zu folgender fehlermeldung:
    warning: cast from pointer to integer of different size
    ohne cast aber(wie erwartet) zu
    warning: assignment makes integer from pointer without a cast

    (und die argv[argc-1] Zeile müsste irgendwie in ein char array gepresset werden)

    Hoffe das war verständlich und irgendwer kann mir weiter helfen!

    Gruß und Dnake im vorab
    Cuthalion



  • @Cuthalion,
    wie ich aus deinem ersten Codeblock entnehme ist optarg ein String. Und du versuchst im zweiten Block einen String in einen Integer zu casten...das geht so nicht. Versuchs mal so:

    int x = atoi(optarg)
    

Anmelden zum Antworten