我需要在目录中的文件夹列表,但只有文件夹。不需要文件。只有文件夹。我使用过滤器来确定这是否是一个文件夹,但它们不起作用并输出所有文件和文件夹。C++文件夹仅搜索
string root = "D:\\*";
cout << "Scan " << root << endl;
std::wstring widestr = std::wstring(root.begin(), root.end());
const wchar_t* widecstr = widestr.c_str();
WIN32_FIND_DATAW wfd;
HANDLE const hFind = FindFirstFileW(widecstr, &wfd);
以这种方式,我检查它是一个文件夹。
if (INVALID_HANDLE_VALUE != hFind)
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT))
如何解决问题?
https://stackoverflow.com/questions/5043403/listing-only-folders-in-directory –
发誓上的#include和DIR –
Xom9ik
窗口当前不支持这一点。你可以['FindFirstFileEx'](https://msdn.microsoft.com/en-us/library/windows/desktop/aa364419(v = vs.85).aspx)将* fSearchOp *设置为[“FindExSearchLimitToDirectories' ](https://msdn.microsoft.com/en-us/library/windows/desktop/aa364416(v = vs.85).aspx) - 但此标志现在没有效果 – RbMm