获取目录中目录中的文件列表

时间:2014-04-22 06:27:30

标签: c++ c linux windows

我有一个名为“BaseFile”的目录,在这个目录中,我有几个目录名为“Dir1”,“Dir2”,“Dir3”等,

在这些子目录中,我有需要通过代码列出的文件列表。有人可以给我一些关于如何做到这一点的提示吗?

我需要在Windows和Linux平台上都这样做。

2 个答案:

答案 0 :(得分:5)

您可以使用opendir()和readdir()

编写此类代码
#include <dirent.h> 
#include <stdio.h> 

int main(void)
{
    DIR           *dirp;
    struct dirent *directory;

    dirp = opendir("/home/user/");
    if (dirp)
    {
        while ((directory = readdir(dirp)) != NULL)
        {
          printf("%s\n", directory->d_name);
        }

        closedir(dirp);
    }

    return(0);
}

答案 1 :(得分:0)

Boost提供了一个basic_directory_iterator,它提供了一个符合C ++标准的输入迭代器,可以访问目录的内容

参见

http://www.boost.org/doc/libs/1_35_0/libs/filesystem/doc/reference.html

相关问题