C++ 如何使用C/C++;
如何获取可移动驱动器盘符,以便创建路径并将数据从PC复制到可移动驱动器 目前我正在使用C++ 如何使用C/C++;,c++,c,windows,removable-storage,C++,C,Windows,Removable Storage,如何获取可移动驱动器盘符,以便创建路径并将数据从PC复制到可移动驱动器 目前我正在使用 _getcwd(buff,b_SIZE); MessageBox(buff); strncpy(Root,buff,3); 我没有问题,如果我直接从USB运行我的软件,它会返回给我D:或E:,这取决于我猜的可用性。但是我的问题是我必须从PC上运行我的USB程序,这当然是安装在C驱动器中的PC程序,因此这个\u getcwd将给我C:\驱动器号。这就是为什么我在寻找是否有办法检查当前的可移动驱动器号 这是我能
_getcwd(buff,b_SIZE);
MessageBox(buff);
strncpy(Root,buff,3);
我没有问题,如果我直接从USB运行我的软件,它会返回给我D:或E:,这取决于我猜的可用性。但是我的问题是我必须从PC上运行我的USB程序,这当然是安装在C驱动器中的PC程序,因此这个\u getcwd
将给我C:\驱动器号。这就是为什么我在寻找是否有办法检查当前的可移动驱动器号
这是我能找到的最接近我的问题:将为您提供当前可用的所有驱动器。循环给定的位向量(位0是驱动器A:,位1是驱动器B:,等等),对于每个可用的驱动器,检查是否返回drive\u REMOVABLE
或者,您可以跳过GetLogicalDrives(),循环查看字母表中的所有26个字母,查找
驱动器\u REMOVABLE
其他问题如何回答您的问题?如果插入了5个可移动驱动器怎么办?也许最好由用户选择。Hi@Dialogicus将仅为1。因为这是一台使用windows的机器。或者我会说我会确保只有一个可移动驱动器。Thanks@Jongware是的,我无法理解给出的解决方案。特别是如何使用结构dbcv_unitmask返回驱动器号?我认为无法确定最后插入的是哪个可移动驱动器。这些信息可能在系统中不可用。有很多方法可以在变化发生时检测变化,但我认为这不是你想要的。好吧!我能理解这一点。让我试试,谢谢!是的,我现在可以拿到驱动器号了。但无法区分它是否为可移动存储介质。我现在从C:开始循环,只是为了避免在A:或B:上出现糟糕的驱动器。