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

Writing output to text file doesn't show input

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

project.exe<input.txt>output.txt

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

Enter option: 
option output

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

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

  1. 被你的程序消耗了!
  2. 你的程序控制了输出流

我并不是说这是不可能的(在 Linux 上,一些与 tee 的混合可能是可能的),但如果可能的话,那将是 hacky 并且肯定是非常规的。

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