Parameterübergabe an Programm



  • Abend,

    ich suche eine ANSI-C Funktion die mir das übergeben von Parameter an ein Programm beim Start ermöglicht/vereinfacht.

    z.b. nameProgramm -s /etc/usw -o 10 -p hallo

    Es gibt hier so etwas (Buchstaben zu Wert zuordnen) , bin mir jedoch nicht ganz sicher ob dies Ansi-C ist, oder nur eine Linux Funktion.

    Danke
    worst_case



  • Hi,

    du musst eben deine Parameter, die du dem Programm mitgibst, parsen und je nach
    Option (z. B. -s) die von dir gewuenschten Funktionalitaet aufrufen.

    Deine Parameter, stehn in dem Array argv:

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

    argc: Anzahl der uebergebenen Parameter
    argv: hier stehen deine Parameter drin

    Hoffe ich konnte dir ein wenig helfen

    mfg
    v R



  • Abend,

    so wollte ich es ja nicht unbeding machen (so hab ich's bisher)
    Denn dann ist ja das "-s" ein Parameter un der "WERT" dazu der nächste.

    Es gibt eine/mehrere Funktion(en) die mir das sortieren übernehmen und ausgeben welche Parameter überhaupt da sind.

    worst_case



  • nein, aber das kannst du dir ja selber schreiben... schliesslich bekommt jedes programm andere parameter und hat auch ne andere aufruf syntax - wie sollte man da etwas allgemein gueltiges schreiben?



  • kleine Denkhilfe:

    wenn "-s" in argv[i] steht, dann steht der dazugehoerige Parameter in argv[++i] 🙂



  • man getopt
    

    kann dir einiges bei der Parameterauswertung erleichtern, ist aber systemabhängig...


Anmelden zum Antworten