2009-05-11 9 views
1

私は、データ構造クラス用のプロジェクトを持っています。これは、バイナリツリーなどを使って動作するファイルコンプレッサです。 compressor.exe -zip file.whatever圧縮解除のためにC++で "app.exe -instruction file"表記を実装する

コンプレッサー圧縮するための

:私たちは、「郵便番号」と「解凍」に、コマンドラインで次の手順を使用して、任意のファイルを必要としています.exe -unzip file.zip

C++でプログラミングしています。私はIDEコード::ブロックを使用し、WindowsでGCCを使用してコンパイルします。

私の質問は:あなたはそれをどのように実装しますか?!!どのようにあなたの.exeをコマンドラインで受け取ることができますか?

また、その実装をLinuxでコンパイルしたい場合は、特別なことがありますか?あなたがmain機能、あなたのプログラムのエントリ・ポイントの署名のためのプログラミングテキストに見てみたいことがありますあなたの助け

+0

あなたはグレッグD'sの答えを受け入れる必要があります! – xian

答えて

1

Lologré、私はそれをgotz!

は、私は今(私はいつも彼らは...のためによかったかと思ったメイン()機能に argcとARGV []パラメータを使用する方法についての基本的な理解を持っています。例えば、私は、コマンドラインに置く場合:

compressor.exe -unzip file.zipその後

  • argcが '3'(ラインの引数の数)で初期化
  • のargv [0] == "compressor.exe"(アプリ名)
  • のargv [1] == "-unzip"
  • のargv [2] ==「ファイル。ジップ」

グレッグ(ない 'CREG'、申し訳ありません= P)とBemrose、あなたの助けのためのみんなに感謝!! ^^

+0

驚くばかり! :Dそれはうまくいってうれしい! –

9

ため

感謝。ここで、それらのコマンドラインパラメータを引き出すことができます。

これは明らかに課題の重要なポイントであるため、私はそれより詳細ではないと思います。あなたと仕事をしていることが分かったら、この種のものをあなたが適切なナッジを受け取ったら、あなた自身でそれを出してください。 :)

幸運!

+0

'のargc' と「ARGV [ ] '...私はそう思っています!> = D 前にmain()引数を使ったことはありませんでしたが、私の答えがどこにあるのかと思います。 !^^ – NeoGlitch

+0

喜んで助けることができます:) –

+1

Waw - 私は、あなたがその人のルックアップを楽しみたいと思わない方法が好きです! – xtofl

2

私が思い出しているように、Single UNIX Specification/POSIXでは、unistd.hにgetoptを定義して、引数の解析を処理します。これはC関数ですが、C++でも動作するはずです。

GNUの拡張スタイルをサポートするgetopt_long(getopt.h内)に加えて、GNU GLIBC has thisがあります。

+0

この質問にはスペックはありませんが、NeoGlitchの他の質問をチェックすると、彼は元気だったプラットフォームに依存しないソリューションです。 getoptはANSI Cではないため、Windowのプラットフォームでは利用できません。 –

+0

私は、GCCを使っていたので、彼はunistd.hとgetopt.hを持つMinGWのようなものも使っていたと考えました。 – Powerlord

+0

十分に公正。 :) –

関連する問題