オプションを整える
デバッグがいろいろなパターンを必要とするようになってきたので,
オプションでパラメータを指定するように書き換えました.
こちらを参考に
http://www.fireproject.jp/feature/c-language/basic-library/getopt_long.html
boostのライブラリーでも良かったんですけど,ソフトウェアとして公開するならわざわざboost入れてもらうのはちょっと不便ですよね.
なんでgetopt_longで基本的に済ませました.
struct optionが名前と引数を持つかどうかとフラッグ,valをそれぞれ持っていてこれに対してオプションを調べていく.
当てはまるものがあったら0か1が返るので
switch文で分岐してopt_indexに代入されているindexのoptionに対してする動作をちょこちょこするという感じ.
一文字で書けるオプションはgetopt_longの返り値自体にそのcharの値が入っているのでこれもswitch文で分岐.
一文字のオプションが値を取るとき:, 取っても取らなくてもいいとき::が指定できるんですが
-c 10
のような形でスペースを入れてオプション指定すると::指定では値が読み取れない模様.
とりあえず形は完成!( ^ω^ )
オプションでパラメータを指定するように書き換えました.
こちらを参考に
http://www.fireproject.jp/feature/c-language/basic-library/getopt_long.html
boostのライブラリーでも良かったんですけど,ソフトウェアとして公開するならわざわざboost入れてもらうのはちょっと不便ですよね.
なんでgetopt_longで基本的に済ませました.
struct optionが名前と引数を持つかどうかとフラッグ,valをそれぞれ持っていてこれに対してオプションを調べていく.
当てはまるものがあったら0か1が返るので
switch文で分岐してopt_indexに代入されているindexのoptionに対してする動作をちょこちょこするという感じ.
一文字で書けるオプションはgetopt_longの返り値自体にそのcharの値が入っているのでこれもswitch文で分岐.
一文字のオプションが値を取るとき:, 取っても取らなくてもいいとき::が指定できるんですが
-c 10
のような形でスペースを入れてオプション指定すると::指定では値が読み取れない模様.
とりあえず形は完成!( ^ω^ )
コメント
コメントを投稿