温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

[Linux管道和IPC]命名管道操作--命名管道通信接收服务器端

发布时间:2020-07-25 22:34:13 来源:网络 阅读:357 作者:银河星君 栏目:编程语言
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/stat.h>
#include <errno.h>

#define FIFO_FILE "MYFIFO"  //命名管道名称

int main(int argc,char * argv)
{
  FILE *fp;
  char readbuf[80];   //读缓冲区
  // 创建命名管道文件
  if((fp=fopen(FIFO_FILE,"r"))==NULL)
  {
    umask(0);
    mknod(FIFO_FILE,S_IFIFO|0666,0);
  }
  else
  {
    fclose(fp);  //如果存在关闭fp
  }
  while(1)
  {
   //打开命名管道文件
    if((fp = fopen(FIFO_FILE,"r"))==NULL)
    {
      printf("打开fifo失败. \n");
      exit(1);
    }
    // 从命名管道中读数据
    if(fgets(readbuf,80,fp)!=NULL)
    {
      printf("接收到字符串::%s \n", readbuf);
      fclose(fp);
    }
    else
    {
      if(ferror(fp))  //如果出错
      {
        perror("读文件失败.\n");
        exit(1);
      }
    }
  }
  return 0;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI