我正在尝试将程序更改目录(到用户希望的位置),但我无法在那里导航并创建文件?看来我能够在那里导航,但是当我进入下一个系统调用时,它返回到当前目录
有没有办法设置我的程序cwd所指向的位置?
std::string s1 = "cd " + userDirectory;
system(s1.c_str());
system("dir > test.txt");
答案 0 :(得分:2)
current_path()
for C ++(std in C ++ 17)。答案 1 :(得分:2)
system
函数将新的命令解释程序作为新进程启动。然后在该命令解释器中运行命令。由于cd
命令是内置命令,因此它仅适用于该命令解释程序进程,而不适用于您的进程。
您可以尝试几种解决方案:
cd
和dir
及其他所有内容)放入您运行的脚本文件中。答案 2 :(得分:0)
在Windows上,您可以使用SetCurrentDirectoryW
功能更改工作目录。