2
我試圖獲取特定USB大容量存儲設備的掛載點(linux/osx)或磁盤驅動器(windows)。如何獲得跨平臺C++或C的U盤的掛載點/磁盤驅動器?
我可以使用libusb來確定是否插入了正確的設備,但是如何確定它的安裝位置?
我正在使用C++,但我認爲C代碼也能正常工作。跨平臺的代碼將是可取的。
我試圖獲取特定USB大容量存儲設備的掛載點(linux/osx)或磁盤驅動器(windows)。如何獲得跨平臺C++或C的U盤的掛載點/磁盤驅動器?
我可以使用libusb來確定是否插入了正確的設備,但是如何確定它的安裝位置?
我正在使用C++,但我認爲C代碼也能正常工作。跨平臺的代碼將是可取的。
C標準庫沒有爲此提供任何工具,所以真正的跨平臺兼容性是不可能的。在Windows上,您可以使用GetLogicalDrives和GetLogicalDriveType的組合,如here所述。您可以使用GetVolumeInformationByHandleW將該信息映射到您的設備。