Home
Source Codes
Engineering Colleges

Training  Reports
Seminar Reports
Placement Papers

Forums

   Computer Science / IT
   Electronics
   Electrical
   Mechanical
   Chemical
   Civil

   CAT / MBA

   GMAT / Foreign MBA
Latest Jobs

Engineering Jobs / Technical Jobs
Management Jobs

Sitemap
Terms of use

Displaying  Source Code(s)  
 

 
Output of one program is input of another program Using Pipes

--------------------------------------------------------------------------------

Description : Output of one program is input of another program Using Pipes

#include <unistd.h>
#include <process.h>

/* Pipe the output of program to the input of another. */

int main()
{
int pipe_fds[2];
int stdin_save, stdout_save;

if (pipe(pipe_fds) < 0)
return -1;

/* Duplicate stdin and stdout so we can restore them later. */
stdin_save = dup(STDIN_FILENO);
stdout_save = dup(STDOUT_FILENO);

/* Make the write end of the pipe stdout. */
dup2(pipe_fds[1], STDOUT_FILENO);

/* Run the program. Its output will be written to the pipe. */
spawnl(P_WAIT, "/dev/env/DJDIR/bin/ls.exe", "ls.exe", NULL);

/* Close the write end of the pipe. */
close(pipe_fds[1]);

/* Restore stdout. */
dup2(stdout_save, STDOUT_FILENO);

/* Make the read end of the pipe stdin. */
dup2(pipe_fds[0], STDIN_FILENO);

/* Run another program. Its input will come from the output of the
first program. */
spawnl(P_WAIT, "/dev/env/DJDIR/bin/less.exe", "less.exe", "-E", NULL);

/* Close the read end of the pipe. */
close(pipe_fds[0]);

/* Restore stdin. */
dup2(stdin_save, STDIN_FILENO);

return 0;
}


 

 

 

Contribute content or training reports / feedback / Comments
job placement papers
All rights reserved © copyright 123ENG