1 #include <stdio.h> 2 #include <stdlib.h> 3 #include<unistd.h> 4 #include<string.h> 5 #include<sys/types.h> 6 #include<sys/wait.h> 7 #include<sys/stat.h> 8 #include<fcntl.h> 9 int main(void) 10 { 11 int len =0; 12 char buf[100]; 13 memset(buf,0 ,sizeof(buf)); 14 int fd = open("fifo1",O_RDONLY); 15 while( (len=read(fd,buf,sizeof(buf))) > 0) 16 { 17 printf("%s\n",buf); 18 } 19 close(fd); 20 return 0; 21 }
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include<unistd.h> 4 #include<string.h> 5 #include<sys/types.h> 6 #include<sys/wait.h> 7 #include<sys/stat.h> 8 #include<fcntl.h> 9 int main(int arg,char* args[]) 10 { 11 int len = 0; 12 char buf[100]; 13 memset(buf,0,sizeof(buf)); 14 int fd = open("fifo1",O_WRONLY); 15 while(1) 16 { 17 scanf("%s",buf); 18 if(buf[0]=='0') 19 break; 20 write(fd,buf,sizeof(buf)); 21 } 22 close(fd); 23 return 0; 24 }
.SUFFIXES:.c .o CC=gcc SRCS1=myfifo.c SRCS2=writefifo.c OBJS1=$(SRCS1:.c=.o) OBJS2=$(SRCS2:.c=.o) EXEC1=readfifo EXEC2=writefifo all: $(OBJS1) $(OBJS2) $(CC) -o $(EXEC1) $(OBJS1) $(CC) -o $(EXEC2) $(OBJS2) @echo '-----------------ok----------------------' .c.o: $(CC) -Wall -g -o $@ -c $< clean: -rm -f $(OBJS1) -rm -f $(OBJS2) -rm -f core*