Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
FILE* pipeOutput = popen("ls /usr/home/vertex","r");
FILE* fileOutput = fopen("/usr/home/vertex/Salida.txt","w");
char fileBuffer[1024];
if ( pipeOutput == 0 || fileOutput == 0)
{
printf("Failure opening input, output file or creating buffer\r\n");
exit(EXIT_FAILURE);
}
while(!feof(pipeOutput))
{
fgets(fileBuffer, sizeof(fileBuffer), pipeOutput);
fputs(fileBuffer, fileOutput);
}
fclose(fileOutput);
pclose(pipeOutput);
return EXIT_SUCCESS;
}
Desde ya eso es un boceto de lo que tenes que hacer ... yo que vos reviso open(), read() y write(), fork(), pipe() y demás (chequeando errores también, por que esas funciones PUEDEN FALLAR) si querés escribirlo en un POSIX LIMPIO
Saludos.
P.S → Pista : http://www.etsimo.uniovi.es/cscene/CS4/CS4-06.html