- 设计一程序,要求用popen()函数,实现“ls –l | grep fifo”的功能。
程序源代码:
#include<stdio.h>
#include<string.h>
int main ()
{
FILE *fp;
int num;
char buf[500];
memset(buf,0,sizeof(buf));
printf("建立管道……\n");
fp=popen("ls -l","r");
if(fp!=NULL)
{
num=fread(buf,sizeof(char),500,fp);
if(num>0)
{
printf("第一个命令是“ls–l”,运行结果如下:\n");
printf("%s\n",buf);
}
pclose(fp);
}
else
{
printf("用popen创建管道错误\n");
return 1;
}
fp=popen("grep fifo","w");
printf("第二个命令是“grep fifo”,运行结果如下:\n");
fwrite(buf,sizeof(char),500,fp);
pclose(fp);
return 0;
}