25

Coptstringの関数で正しく使用する方法がわかりません。getopt

その文字列はどのようにフォーマットする必要がありますか? 文字が隣り合っており、セミコロンで区切られている場合もあれば、2 つのセミコロンで区切られている場合もあります。

どういう意味ですか?

4

3 に答える 3

38

これは単なる文字列であり、この文字列の各文字はオプションを表します。このオプションに引数が必要な場合は、オプションの文字の後に。を付ける必要があります:

たとえば、オプション、、、、および;"cdf:g"を受け入れます。追加の引数が必要です。cdfgf

コマンドラインのオプションはのように見えるので、オプション、、、および-optionを使用できます。-c-d-f argument-g

于 2012-11-06T13:09:29.200 に答える
13

getopt(3)マンページはそれをかなり明確にします:

  • 文字列自体は、コマンドラインに表示できる有効なオプションを指定するために使用されます。
  • オプションの後にが。の場合、:そのオプションには必須パラメーターがあります。指定しないと、関数が失敗します。
  • オプションの後にが::。の場合、そのオプションにはオプションのパラメーターがあります。

オプションは1文字の識別子です。たとえば、のような文字列を指定するaB:cD::optstring、プログラムはオプションaB必須パラメータ、、cおよびDオプションパラメータを取得することになります。

于 2012-11-06T13:12:47.037 に答える
2

コロン:の後に char または string が続く場合、このオプションには引数が必要であることを意味し、コロンがない場合は引数がないことを意味します

詳細については、リンクまたはマンページman 3 getoptを参照する か、アクセスしてください

于 2012-11-06T13:12:28.623 に答える