亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么只捕獲了一個消息,應該是一條呀,求解答,我是新手,弄不太明白。

為什么只捕獲了一個消息,應該是一條呀,求解答,我是新手,弄不太明白。

神不在的星期二 2023-04-24 18:14:16
int main(void){struct pollfd fds[2];int ret;int i = 0;fds[0].fd = STDIN_FILENO;fds[0].events = POLLIN;fds[1].fd = STDOUT_FILENO;fds[1].events = POLLOUT;while(i<5){ret = poll(fds,2,TIMEOUT*1000);if(ret == -1){perror("poll");return 1;}if(!ret){printf("%d seconds elapsed. \n",TIMEOUT);}if(fds[0].revents & POLLIN){printf("stdin is readable\n");}if(fds[1].revents & POLLOUT){printf("stdout is writeable\n");}i++;}return 0;}運行./poll 的時候我也沒有輸出啊,為什么直接就打印了stdout is writable 。是不是stdout就一直被用著呢 。還有當我運行 ./poll < lala.txt 的時候,由于用了stdin ,它打印出了 stdin isreadable ,但是為什么一打就是5條啊。
查看完整描述

1 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

fds[1].events = POLLOUT;
應該把是 fds[0].events = POLLOUT;

查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號