0

这就是问题所在,我想使用 createprocess 在 win32 控制台程序中运行命令,但我希望能够在修改发送到进程的数据后搜索标准输出、标准错误和标准输入。这样我就可以在后台做一些事情,并且在某些情况下会生成一封包含部分标准输出和标准错误的电子邮件。我找到了一些如何将输出重定向到文件的示例,但它不是我需要的文件,因为我希望输出用于操作和实时信息访问;在获得完整输出之前等待进程结束不是一个选项,因为它将运行 10-20 天。如何在 win32 中创建一个进程,同时能够以字符串流的形式访问来自标准输出的数据,或者像本质上一样,以实现我想要的目标?有人可以指导我举一个例子吗?

4

1 回答 1

1

您必须使用CreatePipe()创建管道CreateProcess()以用于重定向。然后,您将根据需要从管道中读取进程的输出。

如果您想要 a 中的输出stringstream,则必须先从管道中读取它,然后再将其分配给后者stringstream,或者实现自定义streambufistream直接从管道中获取数据。

于 2014-09-24T00:03:38.247 回答