知道路径是指c ++中的文件夹还是文件最简单的方法是什么?

Gra*_* H. 1 c++ windows filesystems

我正在使用shell扩展覆盖处理程序,我将传递一条我知道有效的路径,但我不知道它是文件夹还是文件.可以相对经常调用此操作,因此我想尽可能便宜地确定它是文件还是文件夹.使用c ++(特定于Windows可以满足我的要求),我怎样才能最好地实现这一目标?

hmj*_*mjd 5

GetFileAttributes()将提供以下信息:

const DWORD result = GetFileAttributes("C:\\path\\x");

if (INVALID_FILE_ATTRIBUTES == result)
{
    std::cerr << "Error: " << GetLastError() << "\n";
}
else if (FILE_ATTRIBUTE_DIRECTORY == (result & FILE_ATTRIBUTE_DIRECTORY))
{
    std::cout << "Is directory\n";
}
else
{
    std::cout << "Is file\n";
}
Run Code Online (Sandbox Code Playgroud)