#include   <sys/types.h>
#include   <dirent.h>
#include   <sys/stat.h>
void   do_search_dir(char   *path)   {
    DIR   *dir;
    char   fullpath[1024],currfile[1024];
    struct   dirent   *s_dir;
    struct   stat   file_stat;
    strcpy(fullpath,path);
    dir=opendir(fullpath);
    while   ((s_dir=readdir(dir))!=NULL)   {
        if   ((strcmp(s_dir-> d_name, ". ")==0)||(strcmp(s_dir-> d_name, ".. ")==0))   continue;
        sprintf(currfile, "%s/%s ",fullpath,s_dir-> d_name);
        stat(currfile,&file_stat);
        if   (S_ISDIR(file_stat.st_mode))
            do_search_dir(currfile);
        else
            printf( "%s\n ",currfile);
    }
    closedir(dir);
}
int   main(int   argc,char   **argv)   {
    do_search_dir(argv[1]);
}

大致框架如此,代码没调试过,可能有bug。

相关文章:

  • 2021-11-16
  • 2021-06-02
  • 2021-08-10
  • 2021-08-20
  • 2021-09-27
  • 2021-07-05
  • 2022-01-16
猜你喜欢
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2021-08-26
相关资源
相似解决方案