0

您好,我目前正在尝试在运行程序时打印命令行的某个部分。我目前运行我的程序如下

zcat gcc | sim

我想要完成的是将命令行的“gcc”部分打印到单独的文件中。有什么办法可以做到这一点。谢谢您的帮助

我忘了提到这是在 c 而不是 C++

4

2 回答 2

0

您正在将zcat(通过管道)的输出传递给您的程序,它不知道传递给zcat. 您可以将其作为输入流的一部分显式传递,

(echo 'zcat gcc'; zcat gcc ) | sim

但这是一个黑客。如果您打算仅以这种方式运行程序,那可能没问题。

于 2012-04-28T07:01:42.587 回答
0

“sim”程序只知道它有来自标准输入的数据。它不知道是什么将数据传递给标准输入——它可能是另一个程序,或者重定向的输入,或者来自设备。

从'sim' POV,只有来自标准输入的数据。

如果您可以保证始终通过管道从另一个进程接收数据,则可以开始寻找与“sim”进程匹配的进程标头,然后从相关进程中提取进程信息。但是,我怀疑这超出了您的意愿。

于 2012-04-28T06:58:18.177 回答