实验五:管道通信实验内容: 1.阅读以下程序:#incl u de #i nc l u d e <st d io、h>#in clud e <s td l i b、h>mai n(){i n t [2];c har bu ff e r[80];i f(pi p e()<0) //建立管道,[0]为管道里得读取端,[1]则为管道得写入端//成功则返回零,否则返回-1,错误原因存于 e r rno 中er r_qui t(“p i p e error”);if(fork()>0){ch a r s[ ] = “he l lo!\n";c lo se([0]); //关闭[0]文件w ri te([1],s,sizeof(s)); //s 所指得内存写入到[1]文件内clos e([1]); //关闭[0]文件}e l se{c l o s e([1]);read([0],buf f e r,80); //把[0]文件传送8 0 个字节到 bu ffer 缓冲区内 printf(“%s”,bu ff er);cl o se([0]);}}编译并运行程序,分析程序执行过程与结果,注释程序主要语句。2.阅读以下程序:#in c lude〈sy s/t yp es、h>#include#in c l u d e〈fcn t l、h〉m a i n(){char b u ffer[80];in t fd;unli n k(FIFO); //删除 FIFO 文件m kfi f o(F I FO,0 6 66);ﻩ//FIF O就是管道名,0 6 6 6就是权限i f(f o rk()〉0){ch a r s[ ] = “h e llo!\n";fd = ope n (FIF O,O_WRONLY); //以只写方式打开文件F I F Ow r i t e(fd,s,sizeof(s)); //把字符数组 s 得内存写入 size o f(s)个字节到参数 fd 所指得文件内c lose(fd); //关闭该文件,close()会让数据写回磁盘,并释放该文件所占用得资源}e l s e{f d= o pen(FI FO,O_RDO N LY);read(f d,buffer,8 0);p r intf(“%s”,buf f er);c l o s e(fd);}} ﻩ编译并运行程序,分析程序执行过程与结果,注释程序主要语句。3.阅读以下程序:#i nclud e