#include #include #define BUFFSIZE 1024 int main () { // creates a pipe and changes it to a file pointer // only works one way. char buffer[BUFFSIZE]; FILE* stream; int rval; stream = popen ("sort", "w"); fprintf (stream, "This is a test.\n"); fprintf (stream, "Hello, world.\n"); fprintf (stream, "My dog has fleas.\n"); fprintf (stream, "This program is great.\n"); fprintf (stream, "One fish, two fish.\n"); pclose (stream); stream = popen ("ls", "r"); while((rval = fread(buffer, 1, BUFFSIZE, stream)) > 0) { printf("fread returned %d\n",rval); fwrite(buffer,1,rval,stdout); } pclose (stream); }