在Windows C/C++中检查文件夹/文件是否被隐藏/系统

The*_*own 3 windows winapi file-attributes

我正在使用C++/STL/Boost编写一个跨平台应用程序,我意识到它们没有提供检查文件夹或文件是否被隐藏或是否是Windows中的系统文件的方法.

在C/C++ for Windows中执行此操作的最简单方法是什么?

理想情况下,我有一个std :: string与路径(文件或文件夹),如果它被隐藏或是系统文件将返回.最好,如果它适用于所有Windows版本.我正在使用MinGW g ++来编译它.

Mic*_*ael 5

GetFileAttributes将适用于此.

它采用文件或目录作为参数的路径,并返回包括FILE_ATTRIBUTE_HIDDEN和FILE_ATTRIBUTE_SYSTEM的标志集.

DWORD attributes = GetFileAttributes(path);
if (attributes & FILE_ATTRIBUTE_HIDDEN) ...

if (attributes & FILE_ATTRIBUTE_SYSTEM) ...
Run Code Online (Sandbox Code Playgroud)