您好我正在尝试在运行程序时printf命令行的某个部分。我目前运行我的程序如下
zcat gcc | sim
我想要完成的是打印到命令行的'gcc'部分的单独文件。有没有办法实现这一目标。谢谢你的帮助
我忘了提到这是在c而不是C ++
答案 0 :(得分:0)
'sim'程序只知道它有来自stdin的数据。它不知道将数据传递给stdin是什么 - 它可能是另一个程序,或重定向输入,或来自设备。
从'sim'POV开始,只有来自stdin的数据。
IF 您可以保证您将始终通过管道从其他进程接收数据,您可以开始查找与“sim”流程匹配的流程标头,并从然后从关联的进程中提取进程信息。但是,我怀疑这不仅仅是你愿意去的。
答案 1 :(得分:0)
您正在将zcat
(通过管道)的输出传递给您的程序,它不知道传递给zcat
的参数的详细信息。
您可以显式将其作为输入流的一部分传递,
(echo 'zcat gcc'; zcat gcc ) | sim
但这是一个黑客攻击。如果您计划运行您的计划,那可能没问题 只用这种方式编程。