最終更新:2017-02-17 (金) 16:22:59 (2624d)  

getopt
Top / getopt

コマンドラインオプションを解釈する関数・Linux/コマンド

int getopt(int argc, char * const argv[], const char *optstring);

https://linuxjm.osdn.jp/html/LDP_man-pages/man3/getopt.3.html

  • getopt(argc, argv, "abcd:e:");
  • :をつける奴は値を取る
    ./hoge -a -bc -d hoge -e fuga foo
    a
    b
    c
    d hoge
    e fuga
    foo 
  • 値を取る引数の場合は外部変数optargにその値を格納する

挙動

  • argvの要素のうち '-' で始まるもの (かつ "-" 単独や "--" 単独ではないもの) は オプション要素 (option element) とみなされる。
  • この要素から先頭の '-' を除いた文字は オプション文字 (option character) とされる。 getopt() は、繰り返し呼び出されるごとに、次のオプション文字を返す。

引数

optstring

  • 受け付けるオプション文字からなる文字列
    • 文字のあとにコロン (:) が置かれている場合は、 オプションには引き数が必要であることを示す。
    • 2個連続してコロンが置かれている場合は、 そのオプションは引き数をとってもとらなくてもよい

getopt_long()

  • 長いオプション (2 つのダッシュ "--" で始まるオプション) を 受け入れることを除いて getopt() と同じように動作する

関連

  • argv
  • argc
  • getopt
  • getopt_long
  • getopt_long_only?
  • optarg? - オプション文字に引き続くテキストへのポインターか、 あるいは次の argv 要素のテキストへのポインタ
  • optind
  • opterr?
  • optopt?