我有一个名为“BaseFile”的目录,在这个目录中,我有几个目录名为“Dir1”,“Dir2”,“Dir3”等,
在这些子目录中,我有需要通过代码列出的文件列表。有人可以给我一些关于如何做到这一点的提示吗?
我需要在Windows和Linux平台上都这样做。
答案 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