c++ - 如何使用 C/C++ 检索可移动存储盘符

标签 c++ c windows removable-storage

<分区>

如何获取可移动驱动器盘符,以便创建路径并将数据从 PC 复制到可移动驱动器?

目前我正在使用

_getcwd(buff,b_SIZE);
MessageBox(buff);
strncpy(Root,buff,3);

如果我直接从 USB 运行我的软件,我没有问题,它会返回 D: 或 E:,这取决于我猜的可用性。但我的问题是我必须从 PC 运行我的 USB 程序,这当然是安装在 C 驱动器中的 PC 程序,因此这个 _getcwd 会给我 C:\盘符。这就是为什么我正在寻找是否有一种方法来检查当前的可移动驱动器号。

这是我能找到的最接近我的问题的:Detect removable drive (e.g. USB flash drive) C/C++

最佳答案

GetLogicalDrives()将为您提供当前可用的所有驱动器。遍历给定的位 vector (位 0 是驱动器 A:,位 1 是驱动器 B:,等等)并为每个可用的驱动器检查是否 GetDriveType()返回 DRIVE_REMOVABLE

或者,您可以跳过 GetLogicalDrives(),并循环遍历所有 26 个字母表中的字母,查找 DRIVE_REMOVABLE

关于c++ - 如何使用 C/C++ 检索可移动存储盘符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30434769/

相关文章:

c++ - CMAKE 使用环境变量而不将它们作为命令行参数传递?

c++ - C++ 中的小数点 ('.' 是多少,我可以做一个吗?

c - Linux ARM 自旋锁中是否存在竞争条件?

c++ - 为什么我们不能在栈上分配动态内存?

c++ - 有没有办法获取有关 boost::flyweight 内部容器的信息?

c - 简单的 C 程序不断出现运行时错误

c - 使用链表时释放 C 中动态分配的内存

java - C++键盘键码和JAVA KeyEvent键码之间的区别

linux - 从 Windows 上的 plink.exe 在 Linux 上执行 sudo 命令

java - Java 在单独的机器上写入/读取文件的最佳方式?