chdir,getcwd

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章