溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

進(jìn)程通信 (命名管道 單向通信)

發(fā)布時(shí)間:2020-07-13 04:06:45 來源:網(wǎng)絡(luò) 閱讀:345 作者:秋笙夏笛 欄目:編程語言
 client.c:
 1 #include<stdio.h>
  2#include<stdlib.h>
  3#include<string.h>
  4#include<sys/stat.h>
  5#include<sys/types.h>
  6#include<unistd.h>
  7#include<fcntl.h>
  8#define _PATH_ "./tmp"
  9#define SIZE 100
 10int main()
 11 {
 12 if(mkfifo(_PATH_,0666|S_IFIFO)<0)
 13   {
 14    perror("mkfifo");
 15    return -1;
 16   }
 17   intfd=open(_PATH_,O_WRONLY);
 18  if(fd<0)
 19   {
 20   perror("open");
 21   return -1;
 22   }
 23  char buf[SIZE];
 24  memset(buf,'\0',SIZE);
 25  while(1)
 26  {
 27   scanf("%s",buf);
 28   write(fd,buf,strlen(buf));
 29  }
 30 close(fd);
 31 return 0;
 32 }
 
 
 server.c:
 
 1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 #include<sys/stat.h>
5 #include<sys/types.h>
6 #include<unistd.h>
  7#include<fcntl.h>
  8#define _PATH_ "./tmp"
  9#define SIZE 100
 10int main()
 11 {
 12   intfd=open(_PATH_,O_RDONLY);
 13  if(fd<0)
 14   {
 15   perror("open");
 16   return -1;
 17   }
 18  char buf[SIZE];
 19  while(1)
 20  {
 21
 22  memset(buf,'\0',SIZE);
 23   read(fd,buf,sizeof(buf));
 24   printf("%s\n",buf);
 25  }
 26 close(fd);
 27 return 0;
 28 }
 
 
 
 Makefile:
 
  1.PHONY:all
  2 all:client server
  3 server:server.c
  4         gcc -o $@ $^
  5client:client.c
  6         gcc -o $@ $^
  7.PHONY:clean
  8clean:
  9         rm -f client server tmp

進(jìn)程通信 (命名管道  單向通信)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI