- ベストアンサー
[初級]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に与えているようですが 教えていただけないでしょうか
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
cの場合 main(int argc, char *argv[]) 関数の引数でうけとる。 コマンドのパラメタの順番にargv[]に入る。 hogehoge.exe neko の場合 argc=2 これは引数の個数 argv[0]="hogehoge.exe" これは第0パラメタ argv[1]="neko" これは第1パラメタ となる。
その他の回答 (1)
- potedora
- ベストアンサー率47% (66/140)
コマンドラインはmainの引数で取れます。 引数を表示するプログラム例です。 void main(int argc, char *argv[]) { int i; for(i = 0; i < argc; ++i) printf("argv[%d]=%s\n", i, argv[i]); }
お礼
ありがとうございます。解決しました。 ポイント配分に関しては#2さんのお礼に記述しました。
お礼
ありがとうございました。 解決しました。 なお、得点に関しては・・・・ #1さんもソースを書いてくれているので 読めば分かりますが、 >これは引数の個数 との説明がある#2さんが20pt,#1さんを10ptとさせていただきます。