簡體   English   中英

在 C 中創建多個未命名管道

[英]Creating multiple unnamed pipes in C

我對管道完全陌生,我在理解某些東西時遇到了麻煩。 我知道要創建一個管道,這很簡單

int fd[2];
pipe(fd);

但是如果我想創建一堆管道怎么辦? 我會使用相同的 int 數組還是不同的數組? 例如,如果我想創建 3 個管道,它會是

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

或者

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

您肯定需要使用不同的數組。 在調用pipe(x)之后, pipe(x)讀寫端的文件描述符被放入x的元素中。 如果您再次調用pipe(x) ,您將丟失先前創建的管道的文件描述符,並且以后將無法關閉它。

如果你想創建多個管道並且不想為它們使用多個名稱,你可以像這樣使用二維數組

int fd[3][2];

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

這樣可以節省聲明多個數組的時間和復雜性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM