1.r.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
char str[15];
int fd;
int i;
if((fd=open("ttfifo", O_RDONLY)) < 0)
{
perror("open");
return -1;
}
for(i=0; i<10; i++)
{
read(fd, str, 15);
printf("%s", str);
}
close(fd);
return 0;
}
2.w.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
int fd;
int i;
mkfifo("ttfifo", 0777);
if((fd=open("ttfifo", O_WRONLY)) < 0)
{
perror("open");
return -1;
}
for(i=0; i<10; i++)
{
write(fd, "hello world\n", 15);
}
close(fd);
return 0;
}
3.编译源码
$ gcc -o r r.c
$ gcc -o w w.c
4.运行及其结果
$ ./w
$ ./r
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
网友评论