所以我试图制作一个脚本来自动化我的C程序的测试(进出),我试图让输入保持在屏幕上,所以我知道发生了什么.
到目前为止我只尝试过管道:
foo < input.txt
Run Code Online (Sandbox Code Playgroud)
和
cat input.txt | tee dev/tty |foo
Run Code Online (Sandbox Code Playgroud)
这还没有为我工作.
所以假设输入文件看起来像:
123
321
Run Code Online (Sandbox Code Playgroud)
理想情况下,IO看起来像:
Input: 123
Echo: 123
Input: 321
Echo: 321
Run Code Online (Sandbox Code Playgroud)
但它变成了
123
321
Input:
Echo: 123
Input:
Echo: 321
Run Code Online (Sandbox Code Playgroud)
我可以使用其他方法来测试我的C程序吗?我可以在哪里开球可以达到这样的效果?我是否可以编写另一个可以实现类似功能的C程序?
简单地怎么样
cat input.txt ; cat input.txt | foo ;
Run Code Online (Sandbox Code Playgroud)
第一部分打印输入,第二部分打印输出。
您的替代方法是将 print 语句放入代码中,以便在每次迭代的关联输出之前打印正在处理的输入的子部分。