我在 C++ 中创建了一个 Windows 窗体,单击按钮会打开一个用于选择文件夹的对话框。
现在我想做的是获取该目录中的文件列表,以便我可以一一处理它们。
我用谷歌搜索了很多方法,发现了很多方法,其中包括外部库(例如 boost 和 diren.h)。我不想使用外部资源,但我可以使用默认资源。
我读过关于 FindFirstFile 和 FindNextFile 的文章,但无法让这种组合发挥作用。
你能帮忙吗?
非常感谢,伊丹。
这是更新的代码:
HANDLE hFind;
WIN32_FIND_DATA FindFileData;
FolderBrowserDialog^ folderBrowserDialog1 = gcnew FolderBrowserDialog;
if (folderBrowserDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
String ^ selected = folderBrowserDialog1->SelectedPath;
selected += "\\*";
char* stringPointer = (char*) Marshal::StringToHGlobalAnsi(selected).ToPointer();
hFind = FindFirstFile((LPCWSTR)stringPointer, &FindFileData);
while(hFind != INVALID_HANDLE_VALUE)
{
printf("Found file: %s\r\n", FindFileData.cFileName);
if(FindNextFile(hFind, &FindFileData) == FALSE)
break;
}
}