pipe_writeato.c
来自「关于进程间通信的代码集锦2」· C语言 代码 · 共 53 行
C
53 行
#include <unistd.h>#include <sys/types.h>#include <errno.h>int main(){ int pipe_fd[2]; pid_t pid; char r_buf[4096]; char w_buf[4096*2]; int writenum; int rnum; memset(r_buf,0,sizeof(r_buf)); if(pipe(pipe_fd)<0) { printf("pipe create error\n"); return -1; } if((pid=fork())==0) { printf("In child process\n"); close(pipe_fd[1]); while(1) { sleep(1); rnum=read(pipe_fd[0],r_buf,1000); printf("child:readnum is %d\n",rnum); } close(pipe_fd[0]); exit(0); } else if(pid>0) { printf("In parent process\n"); close(pipe_fd[0]); memset(r_buf,0,sizeof(r_buf)); if((writenum=write(pipe_fd[1],w_buf,5000))==-1) { printf("write to pipe error\n"); } else { printf("the bytes write to pipe is %d \n",writenum); } writenum=write(pipe_fd[1],w_buf,5000); close(pipe_fd[1]); } return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?