有没有办法用C语言更改目录?

时间:2009-08-18 12:56:51

标签: c directory executable

通过执行 C程序 可以通过哪种方式 更改到任何目录 ?< / p>

6 个答案:

答案 0 :(得分:14)

chdir()功能。有关详细信息,请使用man chdir

答案 1 :(得分:13)

根据您的操作系统,有不同的调用来更改当前目录。这些通常只会更改运行可执行文件的进程的当前目录。退出流程后,您将进入您开始的目录。

答案 2 :(得分:9)

用于更改当前目录的POSIX命令是:

chdir(const char*path);

请参阅recent POSIX documentation for chdir() is here

答案 3 :(得分:9)

chdir()仅更改进程的当前工作目录,但不更改您正在使用的上下文。假设您在终端中执行程序并且当前目录为/home/Documents,然后执行具有以下行的程序

chdir("cd ../Downloads");

不会更改终端的工作目录,只会更改进程的工作目录。

答案 4 :(得分:3)

是的,chdir()功能。

答案 5 :(得分:0)

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
    system("C:\\windows\\notepad.exe");
    chdir("C:\\windows\\desktop");
    return 0;
}

根据this