这篇主要是关于目录和文件操作的知识整理。
文件状态
struct stat是stat.h头文件中提供的一种用于保存文件类型的结构体,该结构体成员意义如下:
类型 | 含义 |
---|---|
st_mode | 文件权限和类型信息 |
st_ino | 与文件相关联的inode |
st_dev | 文件保存在其上的设备 |
st_uid | 文件所有者的用户身份标识 |
st_gid | 文件所有者的分组标识 |
st_atime | 文件上次被访问的信息 |
st_ctime | 文件权限/所有者/分组方面信息被修改的时间 |
st_mtime | 文件内容上次被修改的时间 |
st_nlink | 文件上硬链接个数 |
目录操作
dirent.h文件中包含目录相关的操作,DIR结构作为子目录处理基础,这个结构体指针所指向的内存空间被称为子目录流,与子目录流相关的函数
函数 | 作用 |
---|---|
int mkdir(char *path,umask) | 在路径path创建目录,成功创建则返回0,否则-1; |
int getcwd(char *buf,size_t size) | 获得当前子目录的操作,buf是存放当前目录缓冲区,size是缓冲区大小,如果返回的当前目录字符串大小超过size,则返回NULL |
DIR *opendir(const char *name) | 打开路径并建立子目录流,返回指针 |
struct dirent *readdir(DIR *dirp) | 返回的指针指向的结构体中保存着子目录流dirp中下一个目录数据项有关的资料,后续的readdir调用将返回后续的目录data项,如果有错误或者到了结尾,则返回NULL |
long int telldir(DIR *dirp) | 返回值里记录着子目录流中的当前位置 |
void seekdir(DIR *dirp,long int loc) | 对dirp指定的子目录流中的目录data项指针进行设置loc的值用来设置指针位置,它应该通过telldir获得 |
int closedir(DIR *dirp) | 关闭子目录流,返回操作结果 |