CWD C ++ Windows

时间:2017-04-19 09:11:04

标签: c++ windows

我正在尝试将程序更改目录(到用户希望的位置),但我无法在那里导航并创建文件?看来我能够在那里导航,但是当我进入下一个系统调用时,它返回到当前目录

有没有办法设置我的程序cwd所指向的位置?

std::string s1 = "cd " + userDirectory;
system(s1.c_str());
system("dir > test.txt");

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

system函数将新的命令解释程序作为新进程启动。然后在该命令解释器中运行命令。由于cd命令是内置命令,因此它仅适用于该命令解释程序进程,而不适用于您的进程。

您可以尝试几种解决方案:

  • 将命令(cddir及其他所有内容)放入您运行的脚本文件中。
  • 更改您的进程的工作目录。

答案 2 :(得分:0)

在Windows上,您可以使用SetCurrentDirectoryW功能更改工作目录。