« エイベックスが「のまネコ」の商標登録中止 | メイン | ハイバネーションできない »

2005年10月03日

コマンドライン引数の処理

この2ヶ月ほどCUIのプログラムを組んでいるんですが、内部の処理がだいぶできあがってきたこともあって、次に起動時に渡すコマンドライン引数の処理をどうしようかな〜と考えています。当然一から解析するプログラムを作るなんて無駄なことはするつもりありません。車輪の再発明ほど愚かなことはありませんので。

そんなわけで定番のgetoptでも使おうかと思って調べていたところ、boost::program_optionsなんてものを発見。どうやらboost 1.32で入ったものらしく、リファレンスを見る限りなかなかよさそうなので試してみました。

仕様としては、実行ファイル(foo.exe)を起動する際に入力ファイル(input-file)を一つ指定し、オプションで出力用ディレクトリ(-o, --output-path)を指定でき、またヘルプ(-h, --help)、バージョン情報(-v, --version)の表示用のオプションも用意する、といったものを考えてみました。プログラムはほとんどチュートリアルと一緒ですが、こんな感じ。

これで、

foo.exe -h
foo.exe --help
foo.exe -v
foo.exe --version
foo.exe input.dat
foo.exe -o c:\output input.dat
foo.exe --output-path c:\output input.dat

といった処理ができました。

投稿者 sai : 2005年10月03日 01:59

トラックバック

このエントリーのトラックバックURL:
http://www.wombat.jp/x/mt/mt-tb.cgi/93

コメント

コメントしてください




保存しますか?