Я не знаю, что вы сделали, чтобы попытаться отладить это, но ваш код не работает вообще.Причина в том, что вы передаете getFileList () строку wstring, но затем передаете ее в ANSI-версию FindFirstFile ().Если вы не #define UNICODE или не используете соответствующий параметр компилятора, все системные вызовы будут ожидать char *, а не UNICODE.
Самое простое решение - просто изменить объявление getFileList () на следующее:
int getFileList(const char * filespec, tFoundFilesVector &foundFiles)
Измените вызов FindFirstFile () следующим образом:
h = FindFirstFile((LPCSTR)filespec, &findData);
И затем измените вызовы на него:
getFileList("c:\\Mapper\\*.txt", foundFiles);
getFileList("c:\\Mapper\\*.jpg", foundFiles);
Другой вариант - переключить все символыСтроки в широкие символы, но в любом случае вы должны быть последовательными во всем.Как только вы это сделаете, программа будет работать, как и ожидалось
Что касается вашего последнего вопроса, ваша программа вообще не фильтруется по времени.