Windows API——FindFirstFile——查找文件

 1 //查找文件
 2 HANDLE WINAPI FindFirstFile(
 3   __in          LPCTSTR lpFileName,//文件名或路径
 4   __out         LPWIN32_FIND_DATA lpFindFileData
 5 );
 6 
 7 //查找下一个文件
 8 BOOL WINAPI FindNextFile(
 9   __in          HANDLE hFindFile,
10   __out         LPWIN32_FIND_DATA lpFindFileData
11 );
12 
13 typedef struct _WIN32_FIND_DATA {  
14       DWORD dwFileAttributes;  //文件属性
15       FILETIME ftCreationTime;  //创建时间
16       FILETIME ftLastAccessTime;  //最近访问时间
17       FILETIME ftLastWriteTime; //最近修改时间
18       DWORD nFileSizeHigh; //高位大小
19       DWORD nFileSizeLow;  //低位大小
20       DWORD dwReserved0;  //保留
21       DWORD dwReserved1;  //保留
22       TCHAR cFileName[MAX_PATH];//文件名,非全路径 
23        TCHAR cAlternateFileName[14];
24 }WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;

实例代码:

 1 void FindFiles(CString &strPath)
 2 
 3 {
 4     WIN32_FIND_DATA findData;
 5 
 6     CString strTemp = strPath;
 7     strTemp.Format(_T("%s\\*.*"), strPath);//查找指定目录下的直接的所有文件和目录
 8 
 9     HANDLE hFile = FindFirstFile(strTemp, &findData);
10     while (hFile != INVALID_HANDLE_VALUE)
11     {
12         if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)//如果是目录
13         {
14             if(findData.cFileName[0] != _T('.'))//排除.和..文件夹
15             {
16 
17                 strTemp =  strPath+ CString("\\") + findData.cFileName;//获得完整路径
18                 FindFiles(strTemp);//递归查找当前目录的文件
19             }
20         }
21         else
22         {
23             strTemp =  strPath+ CString("\\") + findData.cFileName;
24         }
25 
26         if(!FindNextFile(hFile, &findData))
27         {
28             break;
29         }
30     }
31 
32 }

 

转载于:https://www.cnblogs.com/wind-net/archive/2012/11/09/2762350.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值