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

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