2012-05-04 7 views
0

私は、USBリムーバブルストレージにいくつかのファイルをコピーするプログラムを書いています。だから私は利用可能なすべてのリムーバブルストレージのリストが必要です。私はC. Portablityが好まれます。Cを使ってシステムにアタッチされたすべてのUSBリムーバブルストレージのリストを取得する方法は?

+3

各OSが異なり、それを実装しているのでそれは、これにポータブルソリューションを見つけることは考えにくいです。 – rid

+2

これはプラットフォーム固有の問題であり、プラットフォームが何であるか教えてくれていません。 –

+0

今のところ、ウィンドウが機能します。しかし、可能であれば、私にLinuxの解決策を教えてください。 Windowsが優先されます。 – muntasir2000

答えて

1

Possibly libusbx

libusbxは、USBデバイスへの一般的なアクセスを提供するライブラリです。 ライブラリは、USBハードウェアと通信するアプリケーションの開発を容易にするために、開発者が使用するためのものです。

ポータブルです:1つのクロスプラットフォームAPIを使用して、Linux、OS X、Windows、およびOpenBSDのUSBデバイスにアクセス を提供します。

これはユーザモードです: アプリケーションがデバイスと通信するための特別な特権または高度は必要ありません。

バージョンに依存しない:USBプロトコルのすべてのバージョン(1.0〜 3.0(最新))がサポートされています。

libusb_get_device_list

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

+1

あなたの提案をありがとう。しかし、私はまだ初心者の段階にあるので、私にとっては少し難しいと思う。私は私の上位ステージの問題に取り組んでいると思います。しかし、とにかく助けてくれてありがとう@Roman – muntasir2000

関連する問題