c/c++ linux/windows 读取目录下的所有文件名


参考博客:

Linux和Windows系统下C++读取文件夹下文件名

C++中string、char *、char[]的转换

 

linux的c语言版,稍加修改,能够遍历LFW子目录所有图片:

#include <stdio.h>
#include <string.h>
#include <dirent.h>

int main(int argc, char **argv){
    struct dirent *ptr, *ptr1;
    DIR *dir, *dir1;
    dir = opendir("./lfw_arcface_crop/");
    // printf("lists of files:\n");
    int num = 0;
    while((ptr = readdir(dir)) != NULL){
        if(ptr->d_name[0] == '.')
            continue;

        //search subdirectory
        char sub_dir[50] = "lfw_arcface_crop/";
        strcat(sub_dir, ptr->d_name);
        printf("%s\n", sub_dir);
        dir1 = opendir(sub_dir);
        while((ptr1 = readdir(dir1)) != NULL){
            if(ptr1->d_name[0] == '.')
                continue;
            printf("%s   %d\n", ptr1->d_name, num);
            ++num;
            //just choose one img of each sub_dir
            // break;
        }
        printf("\n");
        closedir(dir1);

    }
    printf("the num of imgs in all subdir is:%d\n", num);
    closedir(dir);
    return 0;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM