1.目录操作
目录操作和文件的逻辑类似:打开目录 > 操作目录 > 关闭目录
对于目录来说,基本的操作就是读取子文件/子目录的信息,所以操作目录其实只有一个操作,就是读取目录。
a.打开目录 opendir()函数
参数: name 要打开的路径
函数执行成功之后会返回目录流指针,失败则返回NULL。
b.关闭目录 closedir()函数
传入要关闭的目录流指针(opendir函数的返回值)
c.读取目录 readdir()函数
readdir函数每调用一次就会独处该目录下的一个子项(不会重复),当所有的子项读取完之后,再调用该函数,就会返回NULL。读取出的子项信息就在返回值结构体中。
struct dirent { ino_t d_ino; /* Inode 值 */ off_t d_off; /* 记录的偏移 */ unsigned short d_reclen; /* 记录长度 */ unsigned char d_type; /* 文件类型; not supported by all filesystem types */ DT_BLK /*块设备*/ DT_CHR /*字符设备*/ DT_DIR /*目录*/ DT_FIFO /*管道文件*/ DT_LINK /*链接文件*/ DT_REG /*普通文件*/ DT_SOCK /*套接字文件*/ DT_UNKONWN /*未知文件*/ char d_name[256]; /* 文件名 */ };
PS:如果有错误麻烦指出来,大家互相学习 0-0