問題タブ [getopt-long]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
36195 参照

c - オプション以外の引数を指定して C で getopt を使用する

多くのコマンド ライン引数を処理する小さなプログラムを C で作成しているので、getopt を使用して並べ替えることにしました。

ただし、オプションではない 2 つの引数 (ソース ファイルと宛先ファイル) を必須にしたいので、フラグやその他の引数がなくても、プログラムを呼び出すときにそれらを引数として指定する必要があります。

これは、フラグを使用して引数を処理するために必要なものの簡略化されたバージョンです。

これを編集して、オプションではない引数も処理されるようにするにはどうすればよいですか?

また、オプションの前または後に非オプションを含めることができるようにしたいのですが、それはどのように処理されますか?

0 投票する
2 に答える
2524 参照

perl - Getopt::Long を適切に使用してオプションの引数を解析するには?

Getopt::Long を使用して、perl スクリプトのコマンド ライン オプションを取得します。オプションの引数を渡して、値が指定された場合に何かを実行したり、オプションが呼び出されたが値が渡されなかった場合に何かを実行したりしたいと考えています。

スクリプトは次のように呼び出されます。

引数が指定されていない場合:

オプションの引数を指定します。

次に、これを行います:

次のステップは、私が疑わしいところです。

私が行った場合:

その場合、スクリプトが で呼び出された場合、その IF ブロックは決して呼び出されません。なぜなら、perldoc によると、値が指定されていない場合/root/perlscripts/pingm.pl --installdaemon、オプションの引数は文字列を受け取るからです。''

では、値を渡さずにオプションが指定されたかどうかを確認するにはどうすればよいでしょうか?

0 投票する
1 に答える
537 参照

c++ - 詳細を認識する GetOpt Long

現在、コマンドラインで渡したフラグをプログラムに正しく認識させようとしています。次のコマンドライン ./MineEscape --container BINARY infile.txt は、MineEscape が実行可能ファイルの名前であるため、正しく機能します。ただし、このコマンドラインを機能させるのに問題があります./MineEscape --verbose 15 -c PAIRING infile.txt > outfile.txt

また、コマンド ラインの必須フラグは --container であり、PAIRING や BINARY などのコンテナーのタイプであることに注意してください。--verbose と同様に、整数が続く必要があります。

間違ったコマンド ラインを実行すると、冗長部分に問題が発生し、segfault が発生したとのことです。

0 投票する
1 に答える
117 参照

linux - MooseX::Getopt は未処理のトークンをどこに置きますか

私はこのフラグメントを持っています

これは私にこれを与える

配列を再処理せずに、xxx、yyy、zzz などの未処理の非オプション ベースのアイテムを取得するにはどうすればよいですか?

0 投票する
1 に答える
274 参照

c - C で getopt_long を使用した無効なファイル パス

optarg次の場合になぜ無効なパスを返すの--foo=~/.bashrcか疑問に思っています--foo ~/.bashrc

そして、両方のケースで機能するように、回避策は何でしょうか。

出力:

0 投票する
1 に答える
806 参照

c++ - getopt: 有効なコマンド ライン引数を認識していません

私は Linux 環境で C++ プログラミングを行っており、getopt を使用してコマンド ライン引数を解析しようとしています。入力 -s または -q (それぞれ longforms --stack および --queue) を要求したいのですが、両方ではなく、必要な引数を指定した入力 -o も必要です。

}

これには、上部に適切な #includes が含まれており、正常にコンパイルされます。

ただし、./hunt -q -o M を実行しようとすると、'q'、'o'、':'、および '?' のケースが表示されます。すべて実行します。「:」と「?」をトリガーしている文字を出力することにしました。ブロックし、コンソールには文字「o」の ASCII 値である 111 が表示されます。

getopt が 'o' ブロックをトリガーした後、これ以上コマンドライン引数がないことを示す -1 を返すべきではないので、これは私にとって非常に紛らわしいですか? ヘルプ/提案をいただければ幸いです。ありがとう!

0 投票する
1 に答える
224 参照

c - getopt_long で no_argument を使用するには?

コードに getopt_long を使用しようとしています。optional_argument および required_argument オプションは期待どおりに機能していますが、no_Argument オプションは正しく機能していません。これが私がそれをコーディングしている方法です。

コンパイルして試してみると:

--> すべてのヘルプ コンテンツを表示します

--> 引き続きすべてのヘルプ コンテンツが表示されます。引数が必要ないというエラーが表示されるはずです??

0 投票する
1 に答える
483 参照

c++ - getopt 引数は別のものに依存します

getopt を使用するときに引数を別の引数に依存させる組み込みの方法はありますか? たとえば、switch case のセットアップがあり、すべて正常に動作しますが、テキスト ファイル (-i) を読み取る前に -m 引数 (マルコフ チェーンの長さ) が必要です。

つまり、入力引数を処理するときに他の引数が設定されていないことを確認したいと思います。

小さな抜粋:

組み込みの方法がない場合、これを行うためのクリーンな方法はありますか? ここでは、効率よりもきれいなコードが重要です。助けてくれてありがとう!