大家好,您需要读取文件夹的内容,或者更确切地说,读取文件夹中所有文件的名称,并将它们推送到类型为 的变量中vector<wstring>
。
我确实喜欢这样:
vector<wstring> readFolder(LPWSTR path) {
vector<wstring> names;
WIN32_FIND_DATA FindFileData;
HANDLE hf;
hf = FindFirstFile((LPCTSTR)path, &FindFileData);
if (hf != INVALID_HANDLE_VALUE)
{
do
{
names.push_back((wstring)FindFileData.cFileName);
} while (FindNextFile(hf, &FindFileData) != 0);
FindClose(hf);
}
return names;
}
但是,如果您选择名为 test 的文件夹,那么结果是这样的:
do 循环执行一次,因此 vector 中只有一个元素。路径应该类似于 test\\*,其中 * 是您要查找的文件的掩码(例如 *_??.bmp 或仅 *.bmp 用于所有 bmp 文件)。