Если вы работаете в Windows, вы можете использовать GetDriveType .
Пример использования:
UINT nType = GetDriveType(_T("C:\\"))
Возвращаемые значения для nType:
DRIVE_FIXED : диск имеет фиксированный носитель;например, жесткий диск или флэш-диск.
DRIVE_REMOVABLE : диск имеет съемный носитель;например, дисковод гибких дисков, флэш-накопитель или устройство чтения флэш-карт.
Чтобы проверить, является ли он USB-накопителем, необходимо вызвать SetupDiGetDeviceRegistryProperty .
. Вы можете найтипример кода здесь и здесь .