多路复用io-poll(一)基本原理与应用 - 课后练习
我要参与
多路复用io-poll(一)基本原理与应用 - 课后练习
学习任务 1.4k
等3人参与
来源: 第12周 / 物联网/嵌入式工程师

示例

使用 poll 函数监控标准输入,如果有输入,则获取标准输入的内容并打印

#include <stdio.h>
#include <stdlib.h>
#include <poll.h>

int main(void)
{
    int ret,maxfd = 0;
    struct pollfd pfds;
    char buffer[64] = {0};
    pfds.fd = 0;
    pfds.events = POLLIN;
    
    maxfd = pfds.fd;

    for(;;){
        ret = poll(&pfds,1,1000);
        if (ret == -1){
            perror("[ERROR] poll(): ");
            exit(EXIT_FAILURE);
        }else if (ret == 0){
            printf("Timeout.\n");
        }else if (ret > 0){
            if (pfds.revents & POLLIN){ //判断返回的就绪事件是否为 POLLIN
                fgets(buffer,sizeof(buffer),stdin); // 如果是 POLLIN,则表示有用户输入
                printf("buffer :  %s ",buffer);
            }
        }
    }

    return 0;
}

练习

使用 poll 监听有名管道,当有名管道有数据时,读取数据并打印

去发布

登录后即可发布作业,立即

我的作业

全部作业

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师