我正在使用 C++/STL/Boost 编写一个跨平台应用程序,我意识到它们没有提供一种方法来检查文件夹或文件是否隐藏或者是 Windows 中的系统文件。
在 C/C++ for Windows 中执行此操作的最简单方法是什么?
理想情况下,我有一个带有路径(文件或文件夹)的 std::string,如果它是隐藏的或者是系统文件,它会返回。如果它适用于所有 Windows 版本,则最好。我也在使用 MinGW g++ 来编译它。
我正在使用 C++/STL/Boost 编写一个跨平台应用程序,我意识到它们没有提供一种方法来检查文件夹或文件是否隐藏或者是 Windows 中的系统文件。
在 C/C++ for Windows 中执行此操作的最简单方法是什么?
理想情况下,我有一个带有路径(文件或文件夹)的 std::string,如果它是隐藏的或者是系统文件,它会返回。如果它适用于所有 Windows 版本,则最好。我也在使用 MinGW g++ 来编译它。
GetFileAttributes将为此工作。
它将文件或目录的路径作为参数,并返回一组标志,包括 FILE_ATTRIBUTE_HIDDEN 和 FILE_ATTRIBUTE_SYSTEM。
DWORD attributes = GetFileAttributes(path);
if (attributes & FILE_ATTRIBUTE_HIDDEN) ...
if (attributes & FILE_ATTRIBUTE_SYSTEM) ...