Linux入门教程:Linux下遍历某文件夹罗列所有文件
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>
/*
struct dirent
{
long d_ino; // inode number 索引节点号
off_t d_off; // offset to this dirent 在目录文件中的偏移
unsigned short d_reclen; // length of this d_name 文件名长
unsigned char d_type; // the type of d_name 文件类型
char d_name [NAME_MAX+1]; // file name (null-terminated) 文件名,最长255字符
}
*/
void ListFile(char *path)
{
struct dirent* ent = NULL;
DIR *pDir;
pDir=opendir(path);
while (NULL != (ent=readdir(pDir)))
{
printf("reclen=%d type=%d\t", ent->d_reclen, ent->d_type);
printf("%s\n", ent->d_name);
}
}
int main()
{
ListFile("/home/dreamseeker/data/");
return 0;
}
测试效果如下: