早期,目录就是一个包含有文件名和磁盘分配表的正常文件,可以像其他文件一样打开和读取目录文件,由于效率的需求以及各种不同文件系统的存在,开发人员创建了一些特殊的函数用来打开,读取,关闭目录.
不仅可以获取文件名和目录名列表,也可以获取文件和目录的相当一部分信息.下面的示例列出了目录中的所有文件名和子目录名,并且对每一项显示了一些信息.
结构体stat中可以获取的信息的详细内容,可以通过在终端键入:man 2 stat来查看.
/* showdir.c */
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <unistd.h>
#include <dirent.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
DIR *dir;
struct dirent *dent;