我有Linux Ubuntu,我想测试我的程序,有人给了我多个输入的.txt文件。现在我想用.txt文件中的输入来运行这个程序。有很多输入,所以我不想手工输入它们。 Linux终端中是否有一些命令用文件中的输入运行C? 谢谢你的回答
答案 0 :(得分:3)
我认为你正遭受过于常见的误解,即标准输入" =="键盘"。别想了。如果您已经编写了一个从stdin读取的程序,那么您需要做的就是将文本文件与stdin相关联。在shell中,您可以使用重定向运算符:
./a.out < input.txt
如果您有多个输入,则可以轻松地在每个输入上调用您的程序:
for file in *.txt; do
echo "Running on input: $file"
./a.out < "$file"
done
或者您可以在所有输入上运行一次程序:
cat *.txt | ./a.out
有许多方法可以做你想做的事情,并且有很多灵活性来做不同的事情。您可能希望将程序的输出与预期的输出进行比较,然后您就可以编写完整的测试套件了。例如:
if ! ./a.out < input.txt | cmp expected-output -; then
echo "TEST FAILED" >&2
exit 1
fi