#include <dirent.h>
#include <sys/types.h>
DIR *opendir(const char *name);
功能:打开一个目录流
name:目录路径
返回值:目录流
struct dirent *readdir(DIR *dirp);
功能:从目录流中读取一个文件结点信息
dirp:opendir返回值
返回值:文件节点信息
int closedir(DIR *dirp);
功能:关闭目录流
dirp:opendir的返回值
返回值:成功返回0,失败返回-1
struct dirent
{
ino_t d_ino; // i节点号
off_t d_off; // 下一个文件结点信息的偏移量
unsigned short d_reclen; // 当前文件结点信息的长度
unsigned char d_type; // 文件类型
char d_name[256]; // 文件的名字
}
将文件信息中的d_type与下列宏比较可判断文件类型
DT_BLK This is a block device.
DT_CHR This is a character device.
DT_DIR This is a directory.
DT_FIFO This is a named pipe (FIFO).
DT_LNK This is a symbolic link.
DT_REG This is a regular file.
DT_SOCK This is a UNIX domain socket.
DT_UNKNOWN The file type is unknown.