#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
void list_dir(char *path)
{
DIR *pDir;
int i = 0;
char filename[256][128];
char childdir[512];
struct dirent *dir_info;
pDir = opendir(path);
printf("path:%s\n",path);
while((dir_info = readdir(pDir)) != NULL)
{
if(dir_info->d_type & DT_DIR)//读到的是目录
{
if(strcmp(dir_info->d_name,".") == 0 || strcmp(dir_info->d_name,"..") == 0)
{
continue;
}
sprintf(childdir,"%s/%s",path,dir_info->d_name);
printf("childdir:%s\n",childdir);
list_dir(childdir);
}
else//读到的是文件
{
printf("filename:%s\n",dir_info->d_name);
strcpy(filename[i],dir_info->d_name);
printf("filename1:%s\n",filename[i]);
i++;
}
}
closedir(pDir);
}
int main()
{
char data[] = "/home/samba/ivy_SDK/Ivy_Usr_Sdk-new/";
list_dir(data);
return 0;
}
[Linux C]遍历目录
最新推荐文章于 2024-03-20 08:07:34 发布