在 C++ 中查找 USB 设备的信息

Aru*_*K S 2 usb c++

我需要使用我的 C++ 程序列出现有的 USB 集线器和连接在集线器中的设备。

我可以使用命令从终端打印 USB 集线器和连接在集线器中的设备

lsusb
lsusb -v 
Run Code Online (Sandbox Code Playgroud)

我想在我的 C++ 程序中使用该功能。

我如何以编程方式执行此操作。是否有任何 C++ 类可用于我的 Qt 应用程序。

Edd*_*_Em 8

这里最简单的模拟lsusb

#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);
        }
}
Run Code Online (Sandbox Code Playgroud)

编译 -lusb