• ベストアンサー

[初級]C言語:コマンドラインからの入力を受け取る

兄の友人のため、 付け焼刃のC言語で組んでみているプログラム・・・ で、ある程度プログラムの中身はできたのだが 組んでいてひとつ疑問が。 C:\>hogehoge.exe neko <doubutsu.dat             ↑ この文字列の取得方法が分かりません ほとんどソースの中身がほとんどコピーであり もとのソースを見る限り hogehoge.exe < doubutsu.datの時 fgets(buffer, 80, stdin); sscanf(buffer,"%d%d%d・・・・",&number1,&number2,&number3・・・・ ); /*↑あくまでサンプル。でたらめです */ getsにより取得したbufferをsscanfに与えているようですが 教えていただけないでしょうか

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

  • ベストアンサー
  • uranasu
  • ベストアンサー率66% (8/12)
回答No.2

cの場合 main(int argc, char *argv[]) 関数の引数でうけとる。 コマンドのパラメタの順番にargv[]に入る。 hogehoge.exe neko の場合 argc=2    これは引数の個数 argv[0]="hogehoge.exe"  これは第0パラメタ argv[1]="neko"      これは第1パラメタ となる。

himajin2005_RC4
質問者

お礼

ありがとうございました。 解決しました。 なお、得点に関しては・・・・ #1さんもソースを書いてくれているので 読めば分かりますが、 >これは引数の個数 との説明がある#2さんが20pt,#1さんを10ptとさせていただきます。

その他の回答 (1)

  • potedora
  • ベストアンサー率47% (66/140)
回答No.1

コマンドラインはmainの引数で取れます。 引数を表示するプログラム例です。 void main(int argc, char *argv[]) {   int i;   for(i = 0; i < argc; ++i)   printf("argv[%d]=%s\n", i, argv[i]); }

himajin2005_RC4
質問者

お礼

ありがとうございます。解決しました。 ポイント配分に関しては#2さんのお礼に記述しました。

関連するQ&A