2017-04-13 9 views
-1

私はクラスの割り当てに取り組んでいます。 基本数字変換器です。動作方法は次のとおりです。convert 11010 2 1611010は変換する番号、2は元のベース番号、16は目標のベース番号です。オプションのscanfパラメータをスキップする

しかし、私はまた、代わりになど入力番号、助けのため-hなどの追加オプション、 の希望そしてもしそうなら、私は基本番号の入力がさえinputedされることから、無視することにしたい(216をスキップします)。

Cでは可能ですか?

+0

値はコマンドライン引数として提供されますか? 'scanf'? –

+0

教授はコマンドラインの議論を望んだが、これは私の新しいクラスであり、どうやってどうなるのか分からない。彼はそれを教えていませんでしたが、それを見てオンラインで学ぶことを期待しています。 –

+0

次に、 'main'関数がどこでも引数を取るのを見たことはありませんか?通常は 'int main(int argc、char * argv [])'のようなものですか?これらの 'argc'と' argv'の議論が何であるか疑問に思ったことはありませんか?また、Cプログラムでコマンドライン引数を扱う方法については、数千ものチュートリアルがあります。 –

答えて

0

特定のオプションが提示されたときに入力引数の一部を無視することは、かなり一般的であり、確かに実行可能です。 のすべての入力引数を解析してから、のいずれかを実行します。最初に最も重要なオプション(あなたの場合は '-h')を確認してください。それが与えられていれば、その上に行動し、他のものが存在していたとしても無視してください。プログラムの "ヘルプ"パラメータを指定すると、一般にテキストのブロックがprintfとなり、ただちに終了します。

コマンドラインパラメータを使用している場合は、argvを反復するのと同じくらい簡単です。コンソールから入力を取得している場合は、一度に1文字ずつ入力して処理するか(getcharとステートマシン)、行全体を1つの文字列として読み取り、それを個々の配列に解析する必要がありますパラメータ(本質的にはargvを再開発)。

関連する問題