目录操作
linux 下一切皆文件
1、创建目录
使用mkdr创建目录
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);
参数:
- pathname 待创建目录路径
- mode 创建目录权限
返回值:成功返回0;出错返回-1;
2、删除目录
使用rmdir删除目录
#include <unistd.h>
int rmdir(const char *pathname);
参数:
- pathname 要删除的目录,必须为空目录
返回值:成功返回0;失败返回-1;
3、打开目录
使用opendir()打开目录
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
参数:
- name 要打开的目录名称
返回值:
- 成功返回指向该目录的指针;失败返回NULL;
使用fdopendir()打开目录****************
#include <sys/types.h>
#include <dirent.h>
DIR *fdopendir(int fd);
参数:
- fd *******************************
返回值:
- 成功返回指向该目录的指针;失败返回NULL;
4、读取目录信息
使用readdir()读取目录信息*******************************
#include <dirent.h>
struct dirent *readdir(DIR *dirp);
int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
```
struct dirent {
ino_t d_ino; /* inode number /
off_t d_off; / not an offset; see NOTES /
unsigned short d_reclen; / length of this record /
unsigned char d_type; / type of file; not supported
by all filesystem types /
char d_name[256]; / filename */
};
参数:
- struct dirent 结构体,定义目录的各种信息
## 5、关闭目录
> 使用closedir()关闭目录
include <sys/types.h>
include <dirent.h>
int closedir(DIR *dirp);
参数:
- dirp 文件指针
返回值:
- 成功返回0;失败返回-1;