⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipe_readwrite.c

📁 关于进程间通信的代码集锦
💻 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 + -