#include<iostream>#include<libusb-1.0/libusb.h>intmain(){
libusb_context *ctx =nullptr;
libusb_device **list =nullptr;
ssize_t count =0;// Initialize libusbint r =libusb_init(&ctx);if(r <0){
std::cerr <<"libusb initialization error "<< r << std::endl;return1;}// Get list of USB devices
count =libusb_get_device_list(ctx,&list);if(count <0){
std::cerr <<"Failed to get device list"<< std::endl;libusb_exit(ctx);return1;}// Iterate through the list and print device detailsfor(ssize_t i =0; i < count;++i){
libusb_device *device = list[i];
libusb_device_descriptor desc;
r =libusb_get_device_descriptor(device,&desc);if(r <0){
std::cerr <<"Failed to get device descriptor"<< std::endl;continue;}
std::cout <<"Device "<< i <<": VendorID="<< desc.idVendor
<<", ProductID="<< desc.idProduct << std::endl;}// Free the list and exit libusblibusb_free_device_list(list,1);libusb_exit(ctx);return0;}
sudoaptinstall libusb-1.0-0
g++ usb01.cpp -lusb-1.0 -o a
./a