我有这段代码,它显示带有目录本身而不是其内容的文件夹。我想显示它的内容。我不想使用 boost::filesystem。
我该如何解决这个问题?
代码:
#include <windows.h>
#include <iostream>
int main()
{
WIN32_FIND_DATA data;
HANDLE hFind = FindFirstFile("C:\\semester2", &data); // DIRECTORY
if ( hFind != INVALID_HANDLE_VALUE ) {
do {
std::cout << data.cFileName << std::endl;
} while (FindNextFile(hFind, &data));
FindClose(hFind);
}
}
输出:
semester2
原文由 John Escobia 发布,翻译遵循 CC BY-SA 4.0 许可协议
你得到了目录,因为那是你所要求的。如果您想要这些文件,请索取:
(如果您愿意,您可以改用
*.*
,但显然这仅适用于向后兼容性黑客,因此可能应该避免。请参阅评论和 RbMm 的答案。)