#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
system("ls");
chdir("/mnt");
printf("========change /mnt=======\n");
system("ls");
return 0;
}
不知道这是不是你要的, 我的程式在 /tmp 执行, 离开程式会并不会改到
/mnt。
如果你是要这种功能, 那得另外找方法, 这不是容易的事。
binary backs 繁体中文 p346 有提到这个问题。
※ 引述《jumiboy (jumiboy)》之铭言:
: 首次发文请多包涵,
: 想用C语言执行Linux指令,
: 有查道使用stdlib.h内的system("")可以解决,
: 但想要切换目录(cd)或是执行(./)的时候都没有反应,
: 爬到文说可以使用chdir,
: 由于刚接触程式语言,
: 不太懂要怎么使用chdir,
: 或是板上有人能提供更好的解决方法,
: 感激不尽。