|
本帖最后由 福大牛二爷 于 2012-12-31 10:24 编辑
- while(1){
- /*
- ...............................................
- ...............................................
- ...............................................*/
- //strcpy(w_buf,"aaaaa");
- /* 向管道1 写入数据 */
- if((nwrite=write(fd1,w_buf,100))==-1)
- {
- if(errno==EAGAIN)
- printf("The FIFO has not been read yet.Please try later\n");
- }
- else
- printf("write %s to the FIFO1\n",w_buf);
- while(1)
- {
- if((nread=read(fd,buf_r,100))==-1)
- {
- if(errno==EAGAIN)
- printf("no data yet\n");
- }
- if((buf_r[0] > 0))//if receive data,print and write something to fifo1
- {
- printf("read %s from FIFO\n",buf_r);//在程序中可以打印出读到的而信息,但是没有跳出break???
- memset(buf_r,0,sizeof(buf_r));
- break;
- }
- else
- printf("no data... yet\n");
- sleep(1);
- }
- }
复制代码
问题题目了,不知道为什么我这个break没有跳出里面的那个while(1),这个已经读到了管道的信息了,别且已经打印出来了;
|
|