【发布时间】:2021-12-27 07:19:05
【问题描述】:
假设有 3 个文件:f1.cpp、f2.py、f3.cpp。 我在linux终端上运行命令如下:
$./f1.out | python3 f2.py | ./f3.out
f1 的输出完美地进入 f2 的输入。此外,f2 的输出完美地进入 f3。我在 f3 中显示输出。 f1 在特定间隔后为 f2 生成输入。在此时间间隔内,我需要在 f3 文件中输入用户输入,以便它可以在暂停期间相应地给出输出。 我尝试调试我的代码,我发现虽然我没有用户输入的最终输出是由 f3 生成的,但我的用户输入没有被读取。有人帮忙!!
【问题讨论】:
-
f3 正在读取 f2 的输出,现在它无法从控制台读取输入。您可以打开另一个输入来读取 tty 设备并读取用户输入。看例子unix.stackexchange.com/questions/138342/…。
-
f1正在读取用户输入,您需要以某种方式传递它 -
@AlanBirtles 据我说,f2 正在阅读它。我尝试在 f2 中打印我的输入,但它没有打印。当我按 ctrl+C 退出时,它会在 f2 文件中给出一个键盘中断。我被困在这个:(
-
f1 除了输入之外别无他法,因为其中没有任何 cin 行
-
无论您在哪里尝试读取输入,控制台都会输入
f1,f1的输出是f2的输入,@987654327 的输出@ 是f3的输入,f3的输出进入控制台