红联Linux门户
Linux帮助

请教高手有关命名管道(fifo):一个错误就是调试不通

发布时间:2008-01-15 17:21:30来源:红联作者:ljn866
今天调试一个有关管道的程序,半天没捣鼓出来,请教一下高手:
管道建立成功,就是在open是出错了,打不开~
错误提示是:No such device or address
这是什么毛病啊?高手指点一下贝,多谢了
#define WFIFO "writefifo"

char buf[256];
int w_fd;
struct stat stat_buf;

printf("begin to create writefifo\n";
int ret=mkfifo(WFIFO,0666);
printf("ret=%d\n",ret);
if(ret==-1){
printf("Fail to create fifo %s:%s\n",WFIFO,strerror(errno));
exit(-1);
}

strcpy(buf,s);
printf("buf:%s\n",buf);
printf("get w_fd\n";
w_fd=open(WFIFO,O_WRONLY|O_NONBLOCK);
printf("writefifo's fd:%d\n",w_fd);
if(w_fd==-1){
printf("Fail to open fifo %s:%s\n",WFIFO,strerror(errno));
exit(-1);
}

这是中间的管道代码,就是在w_fd=open(WFIFO,O_WRONLY|O_NONBLOCK);出的错误,
错误提示为:Fail to open writefifo:No such device or address;
要是这句改为w_fd=open(WFIFO,O_RDONLY|O_NONBLOCK);就没毛病了,但是我想以写方式打开~
哪位高手指点一下贝~~
文章评论

共有 0 条评论