当我在虚拟机的共享文件夹上使用C ++文件系统的std::filesystem::create_directory()
或CreateDirectory()
时,以管理员身份运行该应用程序时无法创建目录。但是,当我通常以帐户而不是管理员身份运行它时,它似乎可以正常工作。
我正在将VirtualBox与Windows 10用作主机系统,还将Windows 10作为虚拟机使用。共享文件夹将自动挂载,并且在虚拟机中作为E:\驱动器可见。返回的错误为“找不到路径”,并且CreateDirectory()
给出的错误代码是此列表https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--0-499-上的数字3。我使用了多种方法来返回此错误,因为std::filesystem::create_directory()
使用了第二个参数,而CreateDirectory()
使用了GetLastError()
。
当应用程序本身具有管理员权限时,是否可以选择在没有管理员特权的情况下运行这些功能?
还是有其他解决方案?
使用文件系统的示例代码会产生错误:
#include <filesystem>
int main(int argc, char* argv[])
{
std::filesystem::path targetPath = "E:\\TestPath";
std::filesystem::create_directory(targetPath);
return 0;
}