📄 pipe_readwrite.c
字号:
#include <unistd.h>#include <sys/types.h>#include <errno.h>int main(){ int pipe_fd[2]; pid_t pid; char r_buf[100]; char w_buf[4]; char* p_wbuf; int r_num; int cmd; memset(r_buf,0,sizeof(r_buf)); memset(w_buf,0,sizeof(w_buf)); p_wbuf=w_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]); //sleep(2);// r_num=read(pipe_fd[0],r_buf,100); if(r_num>0) { printf("read num is %d\n the data read from the pipe is %d\n",r_num,atoi(r_buf)); } else { printf("parent hasn't write yet\n"); } close(pipe_fd[0]); exit(0); } else if(pid>0) { printf("In parent process\n"); close(pipe_fd[0]); strcpy(w_buf,"111"); if(write(pipe_fd[1],w_buf,4)!=-1) { printf("parent write over\n"); } close(pipe_fd[1]); printf("parent close fd[1] over\n"); sleep(1);// waitpid(pid,NULL,0);// exit(0); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -