System()は、実行したいコマンドを引数で渡せばそのまま実行してくれます。厳密には、shというシェルに渡して実行してもらいます。
#include < stdio.h > #include < string.h > void main() { char filename[80],str[512],*ptr; FILE *fp; sprintf(filename,"/tmp/ls%d.tmp",getpid()); sprintf(str,"ls -1 > %s",filename); system(str); if((fp=fopen(filename,"r"))==NULL){ fprintf(stderr,"error!!!\n"); exit(-1); } while(1){ fgets(str,512,fp); if(feof(fp)){ break; } ptr=strchr(str,'\n'); if(ptr!=NULL){ *ptr='\0'; } printf("%s\n",str); } fclose(fp); sprintf(str,"rm -f %s",filename); system(str); }