Linux目录操作
获取当前工作目录
-
getcwd()
- 声明:
char *getcwd(char *buf, size_t size);
- 使用方法:
getcwd
用于获取当前工作目录,并将其保存在buf
指向的缓冲区中。 - 返回值:
返回一个指向buf
的指针,若失败则返回NULL。 - 注意事项:
需要确保buf
缓冲区足够大以容纳完整的路径名。
- 声明:
-
get_current_dir_name()
- 声明:
char *get_current_dir_name(void);
- 使用方法:
get_current_dir_name
功能与getcwd
相似,但它会分配一个新的字符串来保存当前工作目录。 - 返回值:
返回一个指向当前工作目录字符串的指针,若失败则返回NULL。 - 注意事项:
需要记得在使用完后释放返回的内存,避免内存泄漏。
- 声明:
切换工作目录
- chdir()
- 声明:
int chdir(const char *path);
- 使用方法:
chdir
用于改变当前工作目录至path
所指定的目录。 - 返回值:
若成功则返回0,失败返回-1。 - 注意事项:
需要确保对path
的访问权限。
- 声明:
创建目录
- mkdir()
- 声明:
int mkdir(const char *path, mode_t mode);
- 使用方法:
mkdir
用于创建一个新目录,path
为目录名,mode
为权限设置。 - 返回值:
若成功则返回0,失败返回-1。 - 注意事项:
需要确保对path
所在的父目录有写权限。
- 声明:
删除目录
- rmdir()
- 声明:
int rmdir(const char *path);
- 使用方法:
rmdir
用于删除一个空目录,path
为目录名。 - 返回值:
若成功则返回0,失败返回-1。 - 注意事项:
目录必须为空,且需要对path
所在的父目录有写权限。
- 声明:
获取目录中文件的列表
- opendir(), readdir(), closedir()
- 声明:
DIR *opendir(const char *name); struct dirent *readdir(DIR *dirp); int closedir(DIR *dirp);
- 使用方法:
opendir
用于打开目录,并返回一个指向DIR
类型的指针。readdir
用于读取目录中的条目,每次调用返回一个struct dirent
类型的指针,指向下一个目录条目,当没有目录条目时返回NULL。closedir
用于关闭由opendir
打开的目录。
- 返回值:
opendir
成功返回指向DIR
类型的指针,失败返回NULL。readdir
成功返回指向struct dirent
类型的指针,失败返回NULL。closedir
成功返回0,失败返回-1。
- 注意事项:
需要对目录有相应的权限,确保在使用完后调用closedir
关闭目录。
- 声明:
以上就是关于Linux目录操作相关函数的详细介绍,使用这些函数可以方便地进行目录操作。