操作系统实验:进程间通信之有名管道
first.c:
#include"stdio.h"
#include"unistd.h"
#include"stdlib.h"
#include"sys/stat.h"
#include"fcntl.h"
int main()
{
int fd;
fd=open("./myfifo",O_WRONLY);
if(fd<0)
{
printf("open failure\n");
return -1;
}
printf("open success\n");
char c[10];
scanf("%s",c);
write(fd,c,sizeof(c));
return 0;
}
second.c:
#include"stdio.h"
#include"string.h"
#include"unistd.h"
#include"stdlib.h"
#include"sys/stat.h"
#include"fcntl.h"
int main()
{
int fd;
fd=open("./myfifo",O_RDONLY);
if(fd<0)
{
printf("open failure\n");
return -1;
}
printf("open success\n");
char a[10];
read(fd,a,1000);
int n=strlen(a);
int i=0;
for(i=n-1;i>=0;i--)
printf("%c",a[i]);
return 0;
}
myfifo.c:
#include"stdio.h"
#include"unistd.h"
#include"stdlib.h"
#include"sys/stat.h"
#include"fcntl.h"
int main()
{
int ret;
ret=mkfifo("./myfifo",0777);
if(ret<0)
{
printf("create failure\n");
return -1;
}
printf("create success\n");
return 0;
}