tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
346
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Hallasas Hallasas ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    116
    Hallo Community!
    Ich habe mal wieder ein Problem...
    Bisher habe ich die Optionen in meiner Konsolenanwendung folgendermaßen "gehandled":
    Code :
    1
    2
    3
    4
    
    if( !strcmp(argv[1], "[B]-funktion[/B]"))
    {
    //....
    }

    Und danach musste ich mit "cin" die Eingabe abwarten.

    Doch nun würde ich gerne wissen, wie ich z.B. so arbeiten könnte:
    Code :
    1
    
    programm.exe -datei meinedatei.end
    Oder so
    Code :
    1
    
    programm.exe -datei meinedatei.end /zusatz meinzusatz

    Ich hoffe, ihr könnt mir helfen.
    Gruß Hallasas
     

  2. #2
    Avatar von Philipp9494
    Philipp9494 Philipp9494 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Oberösterreich
    Beiträge
    251
    Hallo

    Habs derzeit nicht getestet, aber so müsste es funktionieren, obwohl es auch die Suchfunktion in diesem Forum gäbe und funktionieren sollte:
    http://www.c-plusplus.de/forum/viewt...is-155110.html, is zwar C aber naja...

    mfg

    Philipp9494
    Geändert von Philipp9494 (14.07.07 um 18:17 Uhr)
     
    Bei "Lösung" eines Problems, "Erledigt" markieren !

    Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
    Noel Coward


    Was nützt uns die schönste künstlichste Intelligenz, wenn wir keine natürliche haben?
    Programm: Fortunes


    MyPi

  3. #3
    Hallasas Hallasas ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    116
    Erstmal vielen Dank, Philipp!
    Vielleicht wurde meine Frage nicht so richtig verstanden...
    Also nochmal:
    Bisher ging es so:
    Code :
    1
    
    programm.exe --e
    Also sieht die Funktion so aus:
    Code :
    1
    2
    3
    4
    5
    
    if( !strcmp(argv[1], "--e"))
    {
        printf("Hier wird etwas auf \"--e\" gemacht!");
        return 0;
    }

    Doch ich möchte nicht, dass auf die Eingabe "--e" noch ein "getch" ( wegen der Eingabe eines strings ) folgt, sondern das ich gleich so handeln kann:
    Code :
    1
    
    programm.exe --e "Dies ist die Eingabe!"

    Nun ist das Problem:
    Es gibt nicht nur die Funktion "--e", sondern zahlreiche Funktionen...

    Ich hoffe, es ist nun verständlich
    Gruß
     

  4. #4
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Schreib dir doch eine Funktion die überprüft ob eine Option
    zulässig ist ( z.B.: -s -a -d .... ) Wenn eine Option ein Parameter hat
    muss danach eine Option stehn die ungültig ist ( z.B. blöderDateiname.txt )
    Du weist ja wieviele Argumente du bekommen hast. Wenn du eine
    Zeichenkette aus mehreren Worten willst dann muss der Benutzer diese
    eben in Anführungszeichen eingeben. Wenn er das nicht soll du das
    aber so haben willst würde ich mir eine Funktion schreiben die mir die Zeichenketten
    zwischen zwei gültigen Optionen zu einer zusammen setzt.

    Benny
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

  5. #5
    Avatar von Philipp9494
    Philipp9494 Philipp9494 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Oberösterreich
    Beiträge
    251
    Hallo, du kannst auch statt if mit switch Arbeiten .

    Philipp9494
    Geändert von Philipp9494 (14.07.07 um 21:45 Uhr)
     
    Bei "Lösung" eines Problems, "Erledigt" markieren !

    Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
    Noel Coward


    Was nützt uns die schönste künstlichste Intelligenz, wenn wir keine natürliche haben?
    Programm: Fortunes


    MyPi

  6. #6
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Hallo,

    schau doch mal da:

    http://www.codeproject.com/cpp/xgetopt.asp

    Gruß,
    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

  7. #7
    Hallasas Hallasas ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    116
    Danke,
    funktioniert prima!
     

Ähnliche Themen

  1. Inhalt (Parameter) von argv auslesen?
    Von Skipp3r im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 18.07.07, 09:54
  2. rename und argv Pointer Problem?
    Von Blondie05 im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 07.04.05, 11:46
  3. Antworten: 5
    Letzter Beitrag: 01.04.05, 13:00
  4. Einlesen über stdin (argv)
    Von Blondie05 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 27.01.05, 11:58
  5. int argc, char *argv[] bei Mfc-Dialog
    Von NinjaOne im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 25.01.05, 17:05