判断指定路径是否存在的方法
// 必要的头文件
#include <windows.h>
/**
* @brief 判断指定路径表示的文件或目录是否存在
* @param path 路径
* @return 路径是否存在
*/
bool is_existing_path(const wchar_t *path)
{
// 保存文件属性
DWORD fa(INVALID_FILE_ATTRIBUTES);
// 防止其他函数调用错误的干扰
::SetLastError(ERROR_SUCCESS);
// 获取文件属性
fa = ::GetFileAttributesW(path);
// 判断结果
if (fa == INVALID_FILE_ATTRIBUTES)
{
// 获取文件属性失败
// 只要错误代码不是:找不到指定路径
// 检查错误代码
DWORD error = ::GetLastError();
return error != ERROR_PATH_NOT_FOUND &&
error != ERROR_FILE_NOT_FOUND;
}
else
{
// 获取文件属性成功,路径存在
return true;
}
}