为了账号安全,请及时绑定邮箱和手机立即绑定

关于 管道通信 的一个问题

关于 管道通信 的一个问题

茅侃侃 2019-04-13 08:45:35
下面是一个简单的例子:#include#include#include#include#includeintmain(){intn,fd[2];pid_tpid;charbuffer[BUFSIZ+1];if(pipe(fd)
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

(1)你子进程一次读BUFSIZ个字节,可能出现的情况就是父进程把5个"howareyou?"都写到管道里了,这时子进程才开始读,但你一次读BUFSIZ个字节,一次就把5个"howareyou?"都读出来了。
(2)管道在pipe(fd)时就已经建立好了!
                            
查看完整回答
反对 回复 2019-04-13
?
慕慕森

TA贡献1856条经验 获得超17个赞

BUFSIZE改成strlen(“howareyou?”)的值
父进程输出完之后还要memset(buffer,0,sizeof(buffer)),不然输出不对
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 322 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信