2010-12-13 71 views
1

par exemple, sous Linux la commande suivanteComment exécuter pipeline Linux dans les fenêtres en utilisant C C++

$ firstProgram | secondProgram 

porte la sortie de firstProgram comme une entrée à secondProgram

le code de base en C qui fait il se passe dans Linux est

#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]); 

J'ai besoin de faire quelque chose de similaire dans Windows. merci

Répondre

3

Voir le Win32 CreatePipe() pour créer un tuyau anonyme. This example (intitulé «Création d'un processus enfant avec entrée et sortie redirigées») montre comment répliquer votre code dans Win32.