libusb c++样例
时间: 2023-11-24 17:49:51 浏览: 102
libusb是一个用户空间的USB编程库,它允许应用程序访问USB设备。下面是一个使用libusb的C++样例:
```cpp
#include <iostream>
#include <libusb-1.0/libusb.h>
int main() {
libusb_device **devs;
libusb_context *ctx = NULL;
int r;
r = libusb_init(&ctx);
if (r < 0) {
std::cerr << "libusb_init error: " << r << std::endl;
return 1;
}
ssize_t cnt = libusb_get_device_list(ctx, &devs);
if (cnt < 0) {
std::cerr << "libusb_get_device_list error: " << cnt << std::endl;
libusb_exit(ctx);
return 1;
}
for (ssize_t i = 0; i < cnt; i++) {
libusb_device *dev = devs[i];
libusb_device_descriptor desc;
r = libusb_get_device_descriptor(dev, &desc);
if (r < 0) {
std::cerr << "libusb_get_device_descriptor error: " << r << std::endl;
continue;
}
std::cout << "Vendor ID: " << desc.idVendor << ", Product ID: " << desc.idProduct << std::endl;
}
libusb_free_device_list(devs, 1);
libusb_exit(ctx);
return 0;
}
```
该样例使用libusb获取连接到计算机的USB设备的厂商ID和产品ID,并将其输出到控制台。在使用该样例之前,需要先安装libusb库。
阅读全文