Frage

Ich habe ein Projekt für meine Datenstrukturen Klasse, die eine Datei Kompressor ist, die Binary Trees und andere Sachen arbeitet mit. Wir sind verpflichtet, jede gegebene Datei zu „zip“ und „unzip“ durch die folgenden Anweisungen in der Befehlszeile:

Für Komprimierung: compressor.exe -Zip file.whatever

Für Dekomprimieren: compressor.exe -unzip file.zip

Wir programmieren in C ++ . Ich verwende die IDE Code :: Blocks und kompilieren GCC in Windows.

Meine Frage ist: Wie setzen Sie sogar, dass ?? !! Wie können Sie Ihre Exe erhalten diese Parameter in der Befehlszeile machen, und führen sie dann, wie Sie wollen

Auch etwas Besonderes im Sinne haben, wenn ich, dass die Umsetzung in Linux kompilieren will?

Danke für Ihre Hilfe

War es hilfreich?

Lösung 3

Lo logré, ich GÖTZ es !!

Ich habe jetzt ein grundlegendes Verständnis darüber, wie die verwenden argc und argv [] Parameter auf der Seite main () Funktion (I < em> immer fragte sich, was sie für ... gut waren). Zum Beispiel, wenn ich in der Befehlszeile setzen:

compressor.exe -unzip file.zip

Dann:

  • argc initialisiert in '3' (Anzahl der Argumente in Zeile)
  • argv [0] == "compressor.exe" (Name des App.)
  • argv [1] == "-unzip"
  • argv [2] == "file.zip"

Greg (nicht 'Creg', sorry = P) und Bemrose, danke euch für eure Hilfe !! ^^

Andere Tipps

Sie möchten in Ihrem Programmiertext für die Unterschrift der main Funktion suchen, Ihr Programm Einstiegspunkt. Das ist, wo Sie in der Lage sein werden in diesen Befehlszeilenparameter zu ziehen.

Ich will nicht mehr detailliert sein als das, weil dies offenbar ein wesentlicher Punkt des Auftrags ist, und wenn ich mich jemals mit Ihnen finde, würde ich erwarten, dass Sie diese Art von Sachen Figur der Lage sein, aus auf eigener Faust, wenn Sie haben einen entsprechenden Schub erhalten. :)

Viel Glück!

Wie ich mich erinnere, definiert die Single UNIX Specification / POSIX getopt in unistd.h das Parsen von Argumenten für Sie zu behandeln. Zwar ist dies eine C-Funktion ist, sollte es auch in C ++ arbeiten.

GNU GLIBC diese zusätzlich muss getopt_long ( in getopt.h) GNU erweitert --style zu unterstützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top