我正在编写一个程序,它将复制USB移动存储中的一些文件。所以我需要一个可用的所有可移动存储列表。我正在使用C.首选Portablity。
答案 0 :(得分:1)
libusbx是一个提供USB设备通用访问的库。作为一个 库,它旨在供开发人员使用,以方便 开发与USB硬件通信的应用程序。
可移植:使用单个跨平台API,它提供访问 到Linux,OS X,Windows和OpenBSD上的USB设备。
用户模式:无需特殊权限或提升 应用程序与设备通信。
与版本无关:所有版本的USB协议,从1.0到 支持3.0(最新)。
libusb_context * usb_ctx = NULL;
int main()
{
...
libusb_init(&usb_ctx);
...
libusb_exit(usb_ctx);
...
}
some_func()
{
...
libusb_device **list;
ssize_t number_of_devices = libusb_get_device_list(usb_ctx, &list);
...
}
(警告我在网上发现这个,我没有个人经验,代码尚未经过测试, 看起来你需要在使用之前调用libusb_init / libusb_exit,然后看看
* HTTP://libusbx.sourceforge.net/api-1.0/group__lib.html*
和
http://libusbx.sourceforge.net/api-1.0/contexts.html.h