
No.3ベストアンサー
- 回答日時:
>int A[MAX]; (MAXは適当に指定)
>に対して、
>A[0]=15
>A[1]=4
>A[2]=8
>A[3]=25
>と代入したいのです。
これを、aaa.exe < aaa.txt で実現するのであれば、
標準入力stdinからの入力を行うために
scanf("%d %d %d %d", A[0], A[1], A[2], A[3]);
でいかがでしょうか。
No.2の方へのお礼にも書いてあるとおり、
for(i=0;fscanf(stdin,"%d",&A[i])!=EOF;i++){}
と書くことで出来ました。
scanfを用いてもできるようなので、こちらも参考にさせていただこうと思います。
No.1における回答についても合わせまして、ありがとうございました。
No.2
- 回答日時:
入門書でscanfとか使って「キーボード」から入力する、というのを見たことは無いですか?
入門書では省略されていますが、正確には「キーボード」ではなく、「標準入力」からの入力です。
通常は「端末(=キーボード)入力」が「標準入力」と結びついています。なので、リダイレクトが出てこないうちは「標準入力」=「キーボード」でとりあえずは問題ないわけです。
標準入力は、ファイルと同じように扱います。
つまり、基本は
http://oshiete.goo.ne.jp/qa/7218314.html
と一緒です。
・標準入力専用の関数を使う(fscanf→scanf等)
・入力先のFILE *として、fopenしたものではなく、定義済みのstdin を使う(fscanf(fp,~ → fscanf(stdin,~ 等)
のいずれかの方法が使えます
for(i=0;fscanf(stdin,"%d",&A[i])!=EOF;i++){}
とすることでできました。
私が以前に投稿した質問を用いて回答を書いてくださったこともあり、大変分かりやすかったです。
ありがとうございます。
No.1
- 回答日時:
aaa.exe < aaa.txt は aaa.exe 15 4 8 25 と同じ意味ではありません。
aaa.exe < aaa.txt は標準入力stdinからのファイル入力ですが、aaa.exe 15 4 8 25 はコマンドラインから argv[1]、argv[2]、argv[3]、argv[4] で 15 4 8 25 という「引数」を取得するものですので、C言語のプログラムの中では取扱いが全く違います。
>また、上の場合が正しかったとしても、aaa.txtの中身が15 4 8 25 [改行] 2 4 5 10 などのように複数行あったときにはどのようになるのでしょうか?
これは「入力ファイルに複数行のデータがある」というだけです。
プログラムaaa.exe内でどのように読み込んでいるかによって、どうなるかが決まります。
この回答への補足
回答ありがとうございます。
なるほど、コマンドラインから引数の取得とは違ったのですね。
では aaa.exe < aaa.txt はどのように扱えばよいのでしょうか?
具体的な操作をいうと、main関数内で定義した配列
int A[MAX]; (MAXは適当に指定)
に対して、
A[0]=15
A[1]=4
A[2]=8
A[3]=25
と代入したいのです。
標準入力からの入力ということですが、実際にどのような操作をすればよろしいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EDITコントロールで入力できる...
-
プログラミング初心者です。 Py...
-
C言語scanf_sで何故か2回入力に...
-
linux C言語について ./ファイ...
-
C言語について。
-
Linuxプログラミングで、キーボ...
-
C言語(構造体)
-
batプログラム上で文字列を入力...
-
C言語について質問です。 以下...
-
二進数にするプログラム
-
C言語でgetchar();が上手く使え...
-
プログラミングの問題です 「金...
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
「Aに対するBの割合」と「Aに対...
-
C言語の型による処理速度の違い
-
有効数字について 以前質問をし...
-
正の数aは4の倍数で、7でわると...
-
(C言語)めちゃくちゃな値にな...
-
なぜ、C++の標準ヘッダをインク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
scanfが2回使えない・・・?;
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
プログラミングの問題です 「金...
-
if文の条件にscanf関数を使うと…?
-
C言語でgetchar();が上手く使え...
-
UWSCで変数をキー入力
-
4桁の数字以外を入力したらエラ...
-
EDITコントロールで入力できる...
-
C言語でつるかめ算をするにはど...
-
Userformの入力順序をタブオー...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報