• ベストアンサー

コマンドとコマンドラインとコマンドラインオプションの違いを教えてください。

ただ今Cの関数を勉強しているのですが、勉強用HPに ************************ int main(int argc, char *argv[ ]) 戻り値:int型、引数:argc, argv 後者は、コマンドライン オプションを受け付ける。 argc はオプションの数、argv はオプションの内容となる。 ************************ とあります。 そこで質問なのですが、コマンドラインオプションとは何ですか? また、 ・コマンド ・コマンドライン ・コマンドラインオプション の違い、それぞれの意味も教えてください。 マックのコマンド+s、コマンド+vみたいなものですか? それともunixのcdや./のようなものでしょうか。 わからない単語が出てくると、 そこで頭が混乱してしまい先に進めない性質なので困っています。 どうぞご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★回答 ・『コマンド』とは  プログラム名の事です。  つまり unix でいうと cd、cp、ls などです。 ・『コマンドライン』とは  プログラム名 引数 … 引数、オプションの1行の事です。  または、コマンドを打ち込む入力待ちの状態です。 ・『コマンドラインオプション』とは  cp コマンドでいう -f、-i、-p、-r などの事です。  cp コマンドでのファイル名は引数と呼びます。  一般にオプションは - 文字から始まります。  あと Windows の OS では / 文字から始まるスイッチオプションという呼び方がありますが、  - 文字から始まるオプションとほぼ同じ役割です。また、- 文字、/ 文字から始まるものを  合わせてオプションと呼ぶこともあります。 その他: ・main() 関数の引数にある『argc』は引数の個数、『argv』は引数の内容です。  参考にした HP ではオプションの数、オプションの内容と呼んでいますが、引数もオプションも  含まれます。引数とオプションはプログラムで区別するため、そのために - 文字や / 文字から  始まる文字列をオプション(スイッチ)などとして区別しています。もし、- 文字や / 文字から  始まらない文字列ならば、それが引数とプログラムで解釈するように C ソースを記述します。 ・具体的にはコマンドラインで『cp -i -r file1.c file2.c』と入力するとプログラムでは、  argc = 5  argv[ 0 ] = "cp" ←プログラム名  argv[ 1 ] = "-i"  argv[ 2 ] = "-r"  argv[ 3 ] = "file1.c"  argv[ 4 ] = "file2.c"  argv[ 5 ] = NULL ←必ずセットされる  となります。 ・argc はオプションと引数の合計数です。また、プログラム名もカウントされます。  その他、argv[0] にプログラム名が入るか、空文字列が入るかは処理系依存です。  あと argv[ argc ] の位置には必ず NULL ポインタがセットされることが保障されています。 ・以上。参考に!

nekoc
質問者

お礼

詳しいご説明、どうもありがとうございます。 例の提示と、それに対するわかりやすいご説明のおかげで 今までごっちゃになっていたコマンドの区別がつくようになりました。 ぜひ、今後の参考にさせていただきます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kb-nike
  • ベストアンサー率36% (72/200)
回答No.2

<・コマンド 実行命令。 例: cd <・コマンドライン コマンドを入力する行(プロンプトに続くスペース)。 ・コマンドラインオプション コマンドの引数。 例: cd ./ の ./

nekoc
質問者

お礼

ご回答どうもありがとうございます。 スパッとした解説のおかげで頭がこんがらがずにすみました。 おまけに例も提示してくださりまして、大変わかりやすかったです。

すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

いま、あなたが、質問されている環境はなんですか。どの環境で、C言語をべんきょうされていますか?

nekoc
質問者

お礼

ご回答どうもありがとうございました。

nekoc
質問者

補足

説明不足で申し訳ありません。 unixでプログラムを作成しております。

すると、全ての回答が全文表示されます。
TK-FDM106MBKの共有について
このQ&Aのポイント
  • 質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください。
  • 現在、2台のPCにUSB切替器を使ってキーボード+マウスのレシーバーをつないでいます。切り替えが面倒なので、共有方法を教えてほしい。
  • 2台のPCは同時には使わず、必ずどちらか1台のみの起動となっている。
回答を見る

専門家に質問してみよう