以编程方式逐行向stdin提供输入?

时间:2010-08-24 23:48:02

标签: c++ c windows scripting command-line

我有一个测试程序,提示用户输入(stdin),根据输入,它会询问其他输入,这些输入也需要输入。

有没有办法让脚本完成所有这些工作?

3 个答案:

答案 0 :(得分:3)

有一个名为expect的程序可以完全按照您的要求执行操作 - 您可以根据需要编写输入和预期输出以及响应的脚本,简单或复杂。另请参阅wikipedia entry for expect

答案 1 :(得分:1)

我可能误解了,但你有一个程序可以读取输入并用它做一些事情,你只想知道如何自动提供一些测试输入?

对于给定的测试用例,您提供的输入是否必须依赖于程序的输出,或者每次都是相同的?

如果给定测试的输入每次都相同,那么只需将其放入文本文件并重定向stdin,程序就可以从该文件中读取:

myprogram.exe < input.txt

如果输入每次都不同,对于相同的测试,那么这没有帮助。但是对于一个典型的简单测试,你只想对第一个问题回答“y”,对第二个问题回答“n”,对第三个问题回答“你好世界”,或者其他什么。

答案 2 :(得分:0)

在一般情况下,yesthere is

对于更具体的任务,您可以使用其他工具来完成特定任务的专业化和可用性。