C在执行过程结束时关闭两个管道

时间:2012-05-26 16:09:33

标签: c pipe

我在C做了一个程序,父亲与孩子交流,孩子分别通过2个管道与父亲沟通。

它完美无缺。

父关闭一个管道的读取端,并关闭另一个管道的写入端。 对于儿子来说也是如此,只是改变每个管道中要关闭的东西。

理论问题是:

当所有孩子完成他们的执行,并且父亲即将成功退出时,我应该关闭其他两个类型吗?

真的有必要吗?为什么?我只是想更好地理解程序的整个结构。

提前感谢!

1 个答案:

答案 0 :(得分:1)

当您退出程序时,任何打开的文件都将自动close。 您当然可以明确地关闭它,如果您想要进行任何特殊的错误处理,您应该明确关闭它,以便检查close()的返回值。

您可能已经注意到,如果磁盘已满且有数据尚未close()flush将返回错误。