[英]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.