网站做的好看术语,莱芜吧贴吧,温州推广团队,网页详情页设计一、要求实现AB进程对话
A进程先发送一句话给B进程#xff0c;B进程接收后打印B进程再回复一句话给A进程#xff0c;A进程接收后打印重复1.2步骤#xff0c;当收到quit后#xff0c;要结束AB进程
A进程
#include stdio.h
#include sys/types.h
#include…一、要求实现AB进程对话
A进程先发送一句话给B进程B进程接收后打印B进程再回复一句话给A进程A进程接收后打印重复1.2步骤当收到quit后要结束AB进程
A进程
#include stdio.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include errno.h
#include unistd.h
#include string.h
int main(int argc, const char *argv[])
{if(mkfifo(./fifo_A,0664) 0){if(errno ! 17){perror(mkfifo);return -1;}}if(mkfifo(./fifo_B,0664) 0){if(errno ! 17){perror(mkfifo);return -1;}}int fd_A open(./fifo_A,O_WRONLY);if(fd_A 0){perror(open);return -1;}int fd_B open(./fifo_B,O_RDONLY);if(fd_B 0){perror(open);return -1;}printf(open success\n);char buf[128] ;while(1){scanf(%s,buf);write(fd_A,buf,sizeof(buf));bzero(buf,sizeof(buf));read(fd_B,buf,sizeof(buf));if(strcmp(buf,quit) 0){write(fd_A,buf,sizeof(buf));break;}printf(%s\n,buf);}close(fd_A);close(fd_B);return 0;
}
B进程
#include stdio.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include errno.h
#include unistd.h
#include string.h
int main(int argc, const char *argv[])
{if(mkfifo(./fifo_A,0664) 0){if(errno ! 17){perror(mkfifo);return -1;}}if(mkfifo(./fifo_B,0664) 0){if(errno ! 17){perror(mkfifo);return -1;}}int fd_A open(./fifo_A,O_RDONLY);if(fd_A 0){perror(open);return -1;}int fd_B open(./fifo_B,O_WRONLY);if(fd_B 0){perror(open);return -1;}printf(open success\n);char buf[128] ;while(1){bzero(buf,sizeof(buf));read(fd_A,buf,sizeof(buf));if(strcmp(buf,quit) 0){write(fd_B,buf,sizeof(buf));break;}printf(%s\n,buf);scanf(%s,buf);write(fd_B,buf,sizeof(buf));}close(fd_A);close(fd_B);return 0;
}