阅读/写入C中的Unix管道



当前正在处理我们正在使用C中的管道的分配。我需要能够读写和写入管道。这是我困惑的地方。我知道有两种不同类型的管道(或制造它们的不同方法)。我知道有一个管道功能可以读写到匿名管道。在我们的作业书写中,我了解到您使用MKFIFO在目录中创建一个命名的管道。但是,它还指出您可以像普通文件一样使用该管道,但是当我尝试使用它时,它只是悬挂。这是我的代码:

#include <stdio.h>
int main(int argc, char * argv[]){
  FILE *fp;
  fp = fopen("pipe", "r");
  char c = 'o';
  fputc(c, fp);
  fclose(fp);
}

那么,管道实际上不是以这种方式使用的吗?任何帮助是极大的赞赏!谢谢

可写的文件打开呼叫( fopen( "pipe", "w" )open( "pipe", O_WRONLY )等)到FIFO/命名的管道将悬挂直到打开管道以读取。

最新更新