???????2??????????????????????????д????
???????????
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FIFO "/tmp/myfifo"                                         //???λ??
main(int argc??char** argv)
{
char buf_r[100];
int  fd;
int  nread;
if((mkfifo(FIFO??O_CREAT|O_EXCL)<0)&&(errno!=EEXIST))       //?????????
printf("cannot create fifoserver ");
printf("Preparing for reading bytes... ");
memset(buf_r??0??sizeof(buf_r));
fd=open(FIFO??O_RDONLY|O_NONBLOCK??0);                      //readonly ??????
if(fd==-1)
{
perror("open");
exit(1);
}
while(1){
memset(buf_r??0??sizeof(buf_r));
if((nread=read(fd??buf_r??100))==-1){                //??????
if(errno==EAGAIN)
printf("no data yet ");
}
printf("read %s from FIFO "??buf_r);
sleep(1);
}
pause();
unlink(FIFO);
}
????д?????
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FIFO_SERVER "/tmp/myfifo"
int main(int argc??char** argv){
<span style="white-space:pre">    </span>int fd;
<span style="white-space:pre">    </span>char w_buf[100];
<span style="white-space:pre">    </span>int nwrite;
<span style="white-space:pre">    </span>
<span style="white-space:pre">    </span>fd=open(FIFO_SERVER??O_WRONLY|O_NONBLOCK??0); //writeonly?????????read?д???????????????
<span style="white-space:pre">    </span>if(fd==-1)
<span style="white-space:pre">        </span>if(errno==ENXIO)
<span style="white-space:pre">            </span>printf("open error; no reading process ");
<span style="white-space:pre">    </span>if(argc==1)
<span style="white-space:pre">        </span>printf("Please send something ");
<span style="white-space:pre">    </span>strcpy(w_buf??argv[1]);
<span style="white-space:pre">    </span>if((nwrite=write(fd??w_buf??100))==-1){                                  //write
<span style="white-space:pre">        </span>if(errno==EAGAIN)
<span style="white-space:pre">            </span>printf("The FIFO has not been read yet.Please try later ");
<span style="white-space:pre">    </span>}
<span style="white-space:pre">    </span>else
<span style="white-space:pre">        </span>printf("write %s to the FIFO "??w_buf);
}