在win32的c++中,有没有一种方法可以确定文件夹/文件是否可访问?您知道如果尝试访问C:/ Windows目录中的某个文件夹,您将收到一个弹出窗口,显示“此文件夹不可访问”。
也许有一个文件属性常量表示文件是私有的吗?也许类似于FILE_ATTRIBUTE_PRIVATE这样的东西?
也许有一个文件属性常量表示文件是私有的吗?也许类似于FILE_ATTRIBUTE_PRIVATE这样的东西?
WIN32_FIND_DATA dirData;
while (FindNextFile( dir, &dirData ) != 0 )
{
// I made the following constant up
if ( !(fileData.dwFileAttributes & FILE_ATTRIBUTE_PRIVATE) )
{
// file is accessible so store filepath
files.push_back( fileData.cFileName );
}
else // file is not accessible so dont store
}
或者说唯一了解的方法就是去试一试:
dir = FindFirstFileEx( (LPCTSTR)directory.c_str(), FindExInfoStandard, &dirData, FindExSearchNameMatch, NULL, 0 );
if ( dir == ??? ) { the file is inaccessible } [/code]
GetLastError()==5
. - MSalters