Linux 管道 write函数,0903使用pipe函数创建一个匿名管道,并使用write向管道的一端写入数据...

/*

编写一个程序,使用pipe函数创建一个匿名管道,并使用write向管道的一端写入数据,

使用read函数从管道的另一端读取数据。

*/

#include

#include

#include

#include

#define BUFSIZE PIPE_BUF

int main(int argc, char *argv[])

{

int fd[2];

int len;

pid_t pid;

char buffer[BUFSIZ]="hello,Linux world!\n";

//create pipe

if(pipe(fd)<0)

{

printf("pipe failed!\n");

exit(1);

}

//create son process

if((pid=fork())<0)

{

printf("fork failed!\n");

exit(1);

}

else if(pid>0)// father process

{

close(fd[0]);

write(fd[0],buf,strlen(buf));//father process write data to pipe

exit(0);

}

else

{

close(fd[1]);//son process close the write of pipe

len=read(fd[0],buf,BUFSIZE);//son process read data from pipe

if(len<0)

{

printf("process failed when read a pipe.\n");

exit(1);

}

else

write(STDOUT_FILENO,buf,len);//output to stdout

exit(0);

}

//return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值