Pollfd的 struct 是:

struct pollfd {
        int fd;             /* file descriptor */
        short events;       /* requested events */
        short revents;      /* returned events */
}

Libus_pollfd的 struct 为:

struct libusb_pollfd {
         int fd;         /* Numeric file descriptor. */
         short events;
}

轮询函数的 struct 是:

int poll(struct pollfd *fds, nfds_t nfds, int timeout);

轮询libusb_pollfd struct 列表的正确方式是什么?您是否在使用民意调查功能时进行了某种修改?或者,是否有应该使用的libus函数?

推荐答案

实现这一点的唯一方法似乎是使用以下代码:

    struct libusb_pollfd **pollfds; 
    struct pollfd pollfd_array[n];

    pollfds = libusb_get_pollfds(context);
    for (i=0; pollfds[i] != NULL; i++)
    {
        pollfd_array[i].fd = pollfds[i]->fd;
        pollfd_array[i].events = pollfds[i]->events;
    }

    poll_ret = poll(pollfd_array, i, 0);

这就是我想要避免的.如果有更好的办法,请告诉我.

C++相关问答推荐

Pure Win32 C(++)-除了替换控件的窗口程序之外,还有其他方法可以在输入时禁用按钮吗?

为什么信号量为空= 0,而不是阻塞?

如何正确地索引C中的 struct 指针数组?

GCC预处理宏和#杂注GCC展开

如何将字符串argv[]赋给C中的整型数组?

模拟shell并运行.sh文件

使用scanf在C中读取和存储文件中的值

致命错误:ASM/rwan ce.h:没有这样的文件或目录.符号链接还不够

Tic-tac-toe:从文件加载存储

C11/C17标准允许编译器清除复合文字内存吗?

GCC错误,共享内存未定义引用?

Wcstok导致分段故障

我可以创建适用于不同endian的 colored颜色 struct 吗?

为什么我的旧式&q;函数在传递浮点数时会打印2?

向左移位3如何得到以字节为单位的位数?

`%%的sscanf无法按预期工作

哪些C++功能可以在外部C块中使用

在列表中查找素数

C 程序不显示任何输出,但它接受 CS50 Lab1 的输入问题

如何在 C 中的 Postgres 函数的表中 for 循环