我不能用C++去一个目录

Ale*_*lex 1 c++ directory

我需要更改项目的工作目录,以便输出文件转到某个文件夹,而不是所有项目文件.

我正在使用

system("cd secretdir/");
system("ls");
Run Code Online (Sandbox Code Playgroud)

但是,我得到的是当前项目目录中的文件列表,而不是"secretdir"文件.

我使用的是Mac OS X 10.6/Qt Creator 4.7 64位

谢谢!

Fal*_*rri 8

您必须更改当前工作目录

http://www.linuxquestions.org/questions/programming-9/how-to-change-current-working-directory-in-c-550031/

此外,您应该考虑使用完整路径名保存输出文件,而不是更改工作目录.


Fré*_*idi 5

您当前的代码将生成一个将更改其当前目录的子shell ./secretdir,然后继续执行exit()而不执行任何其他操作.

只有这样才能ls另一个子shell中运行,其当前目录当然完全独立于您之前调用时所执行的操作system().

这可能就是你的问题所在.你在寻找chdir()函数吗?

chdir("secretdir");
// From now on, the current directory of the process is `./secretdir`.
system("ls");  // Will probably behave as expected.
Run Code Online (Sandbox Code Playgroud)