在C中创建多个未命名的管道

时间:2016-09-23 16:44:25

标签: c pipe

我对管道全新,我无法理解某些东西。我知道创建一个管道,它只是

"d:\\Users\\bci\\Desktop\\Animation\\bin\\Release\\"

但是,如果我想创建一堆管道怎么办?我会使用相同的int数组还是不同的数组?例如,如果我想创建3个管道,那么它是

int fd[2];
pipe(fd);

或者

int fd[2];
pipe(fd);
pipe(fd);
pipe(fd);

2 个答案:

答案 0 :(得分:2)

您肯定需要使用不同的数组。在调用pipe(x)之后,管道的读取和写入端的文件描述符将被放入x的元素中。如果再次调用pipe(x),您将丢失先前创建的管道的文件描述符,并且以后将无法关闭它。

答案 1 :(得分:0)

如果你想创建多个管道并且不想为它们使用多个名称,你可以像这样使用 2维数组

int fd[3][2];

for(i=0;i<3;i++)
{
   pipe(fd[i]);
}

这样可以节省声明多个数组的时间和复杂性