C++ 如何检查给定路径是否指向现有文件或目录?
我需要一个函数,只要在给定的路径上有一个实体,不管是文件还是目录,就可以简单地返回bool。在winapi或stl中使用什么函数?将返回有关文件系统对象的信息,可以查询该对象以确定它是文件还是目录,如果它不存在,它将失败 例如:C++ 如何检查给定路径是否指向现有文件或目录?,c++,file,winapi,path,directory,C++,File,Winapi,Path,Directory,我需要一个函数,只要在给定的路径上有一个实体,不管是文件还是目录,就可以简单地返回bool。在winapi或stl中使用什么函数?将返回有关文件系统对象的信息,可以查询该对象以确定它是文件还是目录,如果它不存在,它将失败 例如: #include <windows.h> #include <iostream> int main(int argc, char* argv[]) { if (2 == argc) { const DWORD a
#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;
}
#包括
#包括
int main(int argc,char*argv[])
{
如果(2==argc)
{
const DWORD attributes=GetFileAttributes(argv[1]);
if(无效的文件属性!=属性)
{
std::cout将返回有关文件系统对象的信息,可以查询该对象以确定它是文件还是目录,如果它不存在,它将失败
例如:
#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;
}
#包括
#包括
int main(int argc,char*argv[])
{
如果(2==argc)
{
const DWORD attributes=GetFileAttributes(argv[1]);
if(无效的文件属性!=属性)
{
std::cout有(shlwapi)
确定文件系统对象(如文件或文件)的路径
文件夹是有效的
(UNC股份的注意事项)有(shlwapi)
确定文件系统对象(如文件或文件)的路径
文件夹是有效的
(UNC共享的注意事项)此外,260个字符的路径名长度限制不仅仅是理论上的限制。中可以找到限制较少的实现的替代方案。此外,260个字符的路径名长度限制不仅仅是理论上的限制。中可以找到限制较少的实现的替代方案。