![]() |
Linux
Application Development |
Michael K. Johnson Erik W. Troan |
#include <stdio.h>
#include <string.h>
#include <sys/wait.h>
#include <unistd.h>
int main(int argc, char ** argv) {
char buf[1024];
FILE * ls;
int result;
int i;
strcpy(buf, "ls ");
for (i = 1; i < argc; i++) {
strcat(buf, argv[i]);
strcat(buf, " ");
}
ls = popen(buf, "r");
if (!ls) {
perror("popen");
return 1;
}
while (fgets(buf, sizeof(buf), ls))
printf("%s", buf);
result = pclose(ls);
if (!WIFEXITED(result)) return 1;
return 0;
}