Я получил ошибку при попытке получить имя файла из каталога - PullRequest
0 голосов
/ 27 февраля 2019

В моем приложении я пытался получить имя файла из некоторого каталога, и я указал расширение для получения имен.

код:


void OsInterface::getFileNames(TCHAR* dir_name, TCHAR* extension, std::vector<std::wstring>* file_names)
{
    HANDLE hFind;
    WIN32_FIND_DATA win32fd;//defined at Windwos.h

    TCHAR* t = wcscat(dir_name, _T("\\*."));
    TCHAR* search_name = wcscat(t, extension);

    hFind = FindFirstFile(search_name , &win32fd);

    if (hFind == INVALID_HANDLE_VALUE) {
        throw std::runtime_error("file not found");
    }

    do {
        if (win32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
        }
        else {
            file_names->push_back(win32fd.cFileName);
        }
    } while (FindNextFile(hFind, &win32fd));

    FindClose(hFind);
}

Я получил unhandled exception в win32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY которые зависят от KernelBase.dll

У вас есть какие-либо идеи для решения этой проблемы?

Моя среда
- Окно 10
- Visual Studio Community 2017

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...