#define _GNU_SOURCE #include #include #include #include #include int main() { int ret = fchdir(0); printf("fchdir(0) returns %d, current_directory = %s\n",ret,get_current_dir_name()); unlink("/tmp/tempfile1"); int newfd = creat("/tmp/tempfile1",S_IRWXU); ret = fchdir(newfd); printf("fchdir(/tmp/tempfile1) = %d, current_directory = %s\n",ret,get_current_dir_name()); newfd = open("/tmp",S_IRUSR); ret = fchdir(newfd); printf("fchdir(/tmp) = %d, current_directory = %s \n",ret,get_current_dir_name()); newfd = open("/bin",S_IRUSR); ret = fchdir(newfd); printf("fchdir(/bin) = %d, current_directory = %s \n",ret,get_current_dir_name()); }