首页 > 解决方案 > 如何在 Windows 中读取子进程标准输出?

问题描述

我想将在主程序中创建的子进程的标准输出通过管道传输到主进程拥有的输入流中。

我有一个相当于我想做的java,但我不知道如何在C++中做到这一点

final Process p = Runtime.getRuntime().exec(/* Some process */);
final InputStream reader = p.getInputStream();
final byte[] buf = new byte[4096];
int offset;

while (p.isAlive()) {
   offset = reader.read(buf);
   if (offset == -1)
      break;
   // Do something with buf here
}

标签: c++windowsprocessio

解决方案


请参阅 MSDN 中的这篇文章:

创建具有重定向输入和输出的子进程


推荐阅读