HI 我想在一个specefic给定的路径中搜索隐藏的文件和目录,但我不知道如何为隐藏文件做它我知道如何搜索普通文件和dir我做了这个代码,但我卡住不能使它只搜索隐藏文件
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR *fn;
fn=L"d:\\*";
HANDLE f;
WIN32_FIND_DATA data;
{
FILE_ATTRIBUTE_HIDDEN;
}
f=FindFirstFile(fn,&data);
if(f==INVALID_HANDLE_VALUE){
printf("not found\n");
return 0;
}
else{
_tprintf(L"found this file: %s\n",data.cFileName);
while(FindNextFile(f,&data)){
_tprintf(L"found this file: %s\n",data.cFileName);
}
}
FindClose(f);
return 0;
}
答案 0 :(得分:3)
WIN32_FIND_DATA结构没有告诉FindFirstFile / FindNextFile要搜索的内容;它正在返回搜索结果。您需要在dwFileAttributes成员上执行一些掩码,以确定该文件是否被隐藏。
if ((data.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) != 0)
答案 1 :(得分:0)
WIN32_FIND_DATA保存文件属性成员
http://msdn.microsoft.com/en-us/library/aa365740(VS.85).aspx
dwFileAttributes
验证它是否反复FILE_ATTRIBUTE_HIDDEN(避免FILE_ATTRIBUTE_DIRECTORY项目)