在C ++中的目录中的文件

如何在Windows上使用C ++获取给定目录中的所有文件

注意:
我find使用dirent.h方法,但我需要一个更标准的方法…

谢谢

使用FindFirstFile和相关的功能。 例:

 HANDLE hFind; WIN32_FIND_DATA data; hFind = FindFirstFile("c:\\*.*", &data); if (hFind != INVALID_HANDLE_VALUE) { do { printf("%s\n", data.cFileName); } while (FindNextFile(hFind, &data)); FindClose(hFind); } 

boost库:文件系统怎么样? Boost.org

你必须使用FindFirstFile函数( 在这里记录 )。 这是Windows中的标准(和首选)方式,但它不是可移植的。 您找到的头文件dirent.h包含标准POSIX函数的定义。

有关完整的代码,请参阅此示例: 列出目录中的文件

N1975 ISO / IEC TS 18822:2015中描述了公认的C ++标准,最新的草案是N4100 。 你的编译器可能还没有,在这种情况下, Boost.FileSystem提供了基本相同的功能。