如何在scanf中注入参数?

时间:2016-12-09 21:02:06

标签: c linux bash

我有一个以int main()开头的C程序,代码中的某处有一个scanf(%d %c %d, &num1, &ch, &num2)

现在我有另一个需要测试C程序的bash脚本。我希望bash脚本运行C程序并将它作为输入接收的参数注入scanf(不使C程序停止并等待输入)。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

使用您想要的输入创建一个文本文件,空格分隔。

例如,对于scanf("%d %c %d", &num1, &ch, &num2);语句,testinput.txt的内容为:

42 x 99

将此文件保存到与程序相同的目录中。

现在使用输入重定向

运行程序
 ./yourprogram < testinput.txt

scanf将从testinput.txt而不是从控制台读取。