argv Frage

Hallasas

Erfahrenes Mitglied
Hallo Community!
Ich habe mal wieder ein Problem...
Bisher habe ich die Optionen in meiner Konsolenanwendung folgendermaßen "gehandled":
Code:
if( !strcmp(argv[1], "-funktion"))
{
//....
}

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:
programm.exe -datei meinedatei.end
Oder so
Code:
programm.exe -datei meinedatei.end /zusatz meinzusatz

Ich hoffe, ihr könnt mir helfen.
Gruß Hallasas
 
Erstmal vielen Dank, Philipp!
Vielleicht wurde meine Frage nicht so richtig verstanden...
Also nochmal:
Bisher ging es so:
Code:
programm.exe --e
Also sieht die Funktion so aus:
Code:
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:
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ß
 
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
 
Zurück