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目录操作相关函数的详细介绍,使用这些函数可以方便地进行目录操作。