1. chdir
1 #include "apue.h"
2
3 int
4 main(void)
5 {
6 if (chdir("/tmp") < 0)
7 err_sys("chdir failed");
8 printf("chdir to /tmp succeeded\n");
9 exit(0);
10 }
上述代碼是UNIX高級編程上的,在shell下執行時,並不會改變當前shell的工作目錄,每個程序執行都在自己的進程裏,作爲進程的屬性之一,當前工作目錄(current working directory)不會影響進程調用chdir
2. getcwd
這個函數是獲得當前的工作目錄的
76 char buf[NAME_MAX];
77
78 if (chdir(“/home/jack”) < 0)
79 {
80 fprintf(stderr, “chdir error:%s\n”, strerror(errno));
81 exit(-1);
82 }
83
84 if (getcwd(buf, NAME_MAX) == NULL)
85 {
86 fprintf(stderr, “getcwd error! %s\n”, strerror(errno));
87 exit(-1);
88 }
89 printf(“cwd = %s \n”, buf);
90 exit(0);
這段代碼執行後,打印chdir設置的當前工作目錄/home/jack