gpt4 book ai didi

c++ - 从usb获取设备名称

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:33 25 4
gpt4 key购买 nike

lsusb command

我想像在 lsusb 上一样获取设备名称。我找到了这段代码,并尝试了它的所有描述符参数。有没有办法像 Log 一样获取图片上的设备名称。选择。甘。鼠标

#include <stdio.h>
#include <usb.h>
main(){
struct usb_bus *bus;
struct usb_device *dev;
usb_init();
usb_find_busses();
usb_find_devices();
for (bus = usb_busses; bus; bus = bus->next)
for (dev = bus->devices; dev; dev = dev->next){
printf("Trying device %s/%s\n", bus->dirname, dev->filename);
printf("\tID_VENDOR = 0x%04x\n", dev->descriptor.idVendor);
printf("\tID_PRODUCT = 0x%04x\n", dev->descriptor.idProduct);
}
}

最佳答案

您的建议是查看 libusb 库。

从 libusb_get_device_list 开始,它返回当前连接到系统的 USB 设备列表。 https://libusb.sourceforge.io/api-1.0/group__libusb__dev.html

你可以从那里拿走它。

如果你想以其他方式读取/sys/bus/usb/devices 目录并读取有效设备。根集线器或其他集线器除外。

编辑1:

更新链接

这里是用法

libusb_device **list;
ssize_t cnt = libusb_get_device_list(NULL, &list);
ssize_t i = 0;
if (cnt < 0)
handle_error(); //handle error and return

for (i = 0; i < cnt; i++) {
libusb_device *device = list[i];
// do your work
}

libusb_free_device_list(list, 1);

关于c++ - 从usb获取设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53275147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com