このようにLinuxでCプログラムに入力できることは知っています
me $ printf "some input" | ./someProgram
このように、ファイルからの入力を使用して同じことをしたい
me $ myProgram < myFile.txt
myProgram には、printfs を入力として入力したい 2 つの get ステートメントがあります。
printf("...."); fflush(stdout);
gets(var1);
printf("...."); fflush(stdout);
gets(var2);
このように入力ファイルから変数を入力すると、プログラムは期待どおりに動作します
"12345" //expect to fill var1 w/ 12345 and it does
"12345" //expect to fill var2 w/ 12345 and it does
しかし、入力ファイルが次のようになっていると、プログラムは期待どおりに動作しません
printf "12345" //expect to fill var1 w/ 12345 but it does not
printf "12345" //expect to fill var2 w/ 12345 but it does not
明らかに、C は、コマンドを入力として与え、それをプログラムにパイプした場合と同じように、印刷コマンドを解釈していません。
どうしたの?何を修正すればよいですか?ファイルからprintf入力を与えるにはどうすればよいですか?