例如,在linux中,以下命令

$ firstProgram | secondProgram

携带firstProgram的输出作为secondProgram的输入

使它发生在Linux中的C语言中的基本代码是
#include <unistd.h>
.
.
.
int fd[2];
forkStatus = fork();
if (status == 0)
{
  close(1);
  dup(fd[1]);
  close(fd[1]);
  close(fd[0]);
  execv("firstProgram",...);
}
forkStatus = fork();
if (status == 0)
{
  close(0);
  dup(fd[0]);
  close(fd[1]);
  close(fd[0]);
  execv("secondProgram",...);
}
close(fd[1]);
close(fd[0]);

我需要在Windows中执行类似的操作。
谢谢

最佳答案

请参阅Win32 CreatePipe()创建匿名管道。 This example(标题为“使用重定向的输入和输出创建子进程”)显示了如何在Win32中复制代码。

关于c++ - 如何使用C\C++在Windows中实现Linux管道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4429127/

10-13 08:24