1

我需要一个函数,如果给定路径上有实体,则无论是文件还是目录,它都只返回 bool。在 winapi 或 stl 中使用什么函数?

4

2 回答 2

3

GetFileAttributes()将返回有关文件系统对象的信息,可以对其进行查询以确定它是文件还是目录,如果它不存在,它将失败。

例如:

#include <windows.h>
#include <iostream>

int main(int argc, char* argv[])
{
    if (2 == argc)
    {
        const DWORD attributes = GetFileAttributes(argv[1]);
        if (INVALID_FILE_ATTRIBUTES != attributes)
        {
            std::cout << argv[1] << " exists.\n";
        }
        else if (ERROR_FILE_NOT_FOUND == GetLastError())
        {
            std::cerr << argv[1] << " does not exist\n";
        }
        else
        {
            std::cerr << "Failed to query "
                      << argv[1] 
                      << " : "
                      << GetLastError()
                      << "\n";
        }

    }
    return 0;
}
于 2012-12-12T15:00:42.767 回答
1

PathFileExists(shlwapi)

确定文件系统对象(如文件或文件夹)的路径是否有效。

(对 UNC 股票的警告)

于 2012-12-12T16:47:35.313 回答