我知道你可以像这样在 linux 中为 C 程序提供输入
me $ printf "some input" | ./someProgram
我想使用来自文件的输入做同样的事情,像这样
me $ myProgram < myFile.txt
myProgram 有两个获取语句,我想用 printfs 填充它们作为输入。
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 输入?