Linux 下的目录是依照标准来实作的,因此,您可以毫无问题地移殖到任何其它 UNIX 平台。
--------------------------------------------------------------------------------
getcwd/getwd : 取得目前所在目录
--------------------------------------------------------------------------------
#include
char * getcwd(char *buf,size_t size);
buf 将会返回目前路径名称。
任何的错误发生,将会返回 NULL。如果路径长度超过 size,errno 为 ERANGE。getcwd 返回的值永远
是没有 symbol link 的。
--------------------------------------------------------------------------------
#include
char *getwd(char *buf);
getwd 是个危险的函数,一般都会强烈建议不要用,因为您无法确定最长的目录长度为多少。PATH_MAX
定义了最长的路径长度。在 Linux 下所以提供这个函数主要是因为「传统」。
--------------------------------------------------------------------------------
//获取系统目录最大长度
long pathconf(char* path, int flag);
--------------------------------------------------------------------------------
chdir/fchdir/chroot : 改变目前所在目录
--------------------------------------------------------------------------------
#include
int chdir(const char * pathname);
int fchdir(int fd);
chdir 根据 pathname 变更目前的所在目录,它只改变该程式的所在目录。
fchdir 根据已开启的 fd(file descriptor)目录来变更。