尝试从目录获取文件名时出现错误

时间:2019-02-27 04:21:59

标签: visual-c++

在我的应用程序中,我尝试从某个目录获取文件名,并指定了扩展名以获取名称。

代码是


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 exceptionwin32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY,具体取决于KernelBase.dll

您有解决此问题的想法吗?

我的环境是
-视窗10
-Visual Studio Community 2017

谢谢。

0 个答案:

没有答案