オプションを整える

デバッグがいろいろなパターンを必要とするようになってきたので,
オプションでパラメータを指定するように書き換えました.


こちらを参考に

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

のような形でスペースを入れてオプション指定すると::指定では値が読み取れない模様.


とりあえず形は完成!( ^ω^ )

コメント

このブログの人気の投稿

再現性なんてないさ(?)

特に収穫がない日

jupytherにチャレンジ