将输出写入文本文件不显示输入
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 复制或克隆您的输入流,以便在您的程序使用它之后,它也被发送到输出溪流。这有一些问题:
- 被你的程序消耗了!
- 你的程序控制了输出流
我并不是说这是不可能的(在 Linux 上,一些与 tee
的混合可能是可能的),但如果可能的话,那将是 hacky 并且肯定是非常规的。
坦率地说,我会坚持您自己的想法,即在程序本身内将输入镜像到输出流。如果有人以交互方式使用您的程序,那么他们会觉得这很奇怪,但您可以提供一个命令行开关来切换此功能。例如,它类似于 PuTTY 的可选 "local echo" 功能。
我有一个 C++ 程序,它应该从文本文件读取输入,并将输出写入文本文件。我想尝试在不添加任何额外代码的情况下实现这一点,所以在命令行中我写了
project.exe<input.txt>output.txt
这有效,但在 ouput.txt 文件中,我看不到任何输入。它只是说:
Enter option:
option output
我可以在每次输入后添加 std::cout<<option;
,但是有没有办法在不添加任何额外代码的情况下显示输入?
您正在尝试找到一种方法来制作 Windows shell 复制或克隆您的输入流,以便在您的程序使用它之后,它也被发送到输出溪流。这有一些问题:
- 被你的程序消耗了!
- 你的程序控制了输出流
我并不是说这是不可能的(在 Linux 上,一些与 tee
的混合可能是可能的),但如果可能的话,那将是 hacky 并且肯定是非常规的。
坦率地说,我会坚持您自己的想法,即在程序本身内将输入镜像到输出流。如果有人以交互方式使用您的程序,那么他们会觉得这很奇怪,但您可以提供一个命令行开关来切换此功能。例如,它类似于 PuTTY 的可选 "local echo" 功能。