济南建设网站的公司,网站左侧固定代码,正规网络教育培训机构,网址搜索器两个很有用的进程间通信函数popen,pclose 今天起的比较晚#xff0c;然后来了也不想复习#xff0c;还是看书学习--写代码--写博客有意思#xff0c;不敢说有多精通#xff0c;至少每天都在学习新知识#xff0c;不求立刻完全消化#xff0c;但求每天有进步。 现在就看看… 两个很有用的进程间通信函数popen,pclose 今天起的比较晚然后来了也不想复习还是看书学习--写代码--写博客有意思不敢说有多精通至少每天都在学习新知识不求立刻完全消化但求每天有进步。 现在就看看这两个函数其实都是创建一个管道到子进程但是使用这两个函数要比昨天使用pipe() 函数简单的多。 #include stdio.h FILE *popen(const char *command, const char *type); int pclose(FILE *stream); 函数原型参上。popen 函数有两个参数第一个是执行的可执行程序这个函数首先会调用fork( )然后调用exec( )函数执行这个可执行文件。然后还有一个参数有两个选项r w). r :将返回的文件指针连接到可执行程序的标准输出w:将返回的文件指针连接到可执行文件的标准输入。 #includestdio.h
#includeapue.h
#includesys/wait.h
#includeunistd.h
#define PAGER ${PAGER:-more}
#define MAXLINE 255
int main(int argc,char **argv)
{char line[MAXLINE];FILE *fpin,*fpout;if(argc ! 2){printf(plesase enter the Pathname\n);}if((fpin fopen(argv[1],r)) NULL){printf(can not open \n);}if((fpout popen(PAGER,w)) NULL){printf(popen error\n);}while(fgets(line,MAXLINE,fpin) ! NULL){if(fputs(line,fpout) EOF){printf(fputs error\n);}}if(ferror(fpin)){printf(fgets error\n);}if(pclose(fpout) -1){printf(pclose error\n);}exit(0);
}
首先我们应当在本地创建一个文本文件随便写入一些东西然后传给这个程序这个程序调用本身的more 分页程序将文本里的东西分页显示在终端上。 版权声明本文为博主原创文章未经博主允许不得转载。 转载于:https://www.cnblogs.com/zmrlinux/p/4921404.html