将输出写入文本文件不显示输入

时间:2017-05-08 19:54:30

标签: c++ windows batch-file windows-7 io-redirection

我有一个C ++程序,它应该从文本文件中读取输入,并将输出写入文本文件。我想尝试实现这一点而不添加任何额外的代码,所以在命令行中我写

project.exe<input.txt>output.txt

这有效,但在ouput.txt文件中,我看不到任何输入。它只是说:

Enter option: 
option output

我可以在每次输入后添加std::cout<<option;,但有没有办法显示输入而不添加任何额外的代码?

1 个答案:

答案 0 :(得分:1)

您正在尝试找到一种方法来使Windows shell复制或克隆您的输入流,以便在程序使用它之后,它也会被发送到输出流。这有一些问题:

  1. 它被你的程序消耗了!
  2. 您的程序控制输出流
  3. 我并不是说这是不可能的(在Linux上,可能会有tee的某种混合),但如果可能的话,它就会变成黑客而且肯定是非传统的。

    坦率地说,我会坚持自己的想法,只是在程序本身内镜像输出流的输入。如果有人以交互方式使用您的程序,那么对他们来说这看起来很奇怪,但您可以提供一个命令行开关来切换此功能。例如,它类似于PuTTY的可选“本地回声”功能。