1. FindFirstFile

函数功能
用于获得指定目录的第一个文件

函数原型

  HANDLE FindFirstFile(LPCTSTR lpFileName,   // 目录名LPWIN32_FIND_DATA lpFindFileData   // 数据缓冲区
);

函数参数
lpFileName
[输入] 指向字符串的指针用于指定一个有效的目录。

lpFindFileData
[输出] 指向一个WIN32_FIND_DATA的指针,用于存放找到文件或目录的信息。

返回值
如果成功,则返回找到文件或目录的句柄。在FindNextFile和FindClose函数中会用到此句柄。
如果失败,返回INVALID_HANDLE_VALUE。要获得更多的信息调用GetLastError函数。

备注
WIN32_FIND_DATA的结构中包含很多文件或目录的有用信息,后面的程序或许会用到。该结构如下:

typedef struct _WIN32_FIND_DATA
{  DWORD dwFileAttributes;            // 文件属性  FILETIME ftCreationTime;           // 文件创建时间  FILETIME ftLastAccessTime;         // 文件最后一次访问时间  FILETIME ftLastWriteTime;          // 文件最后一次修改时间  DWORD nFileSizeHigh;               // 文件长度高32位  DWORD nFileSizeLow;                // 文件长度低32位  DWORD dwReserved0;                 // 系统保留  DWORD dwReserved1;                 // 系统保留  TCHAR cFileName[ MAX_PATH ];       // 长文件名  TCHAR cAlternateFileName[ 14 ];    // 8.3格式文件名
}WIN32_FIND_DATA, *PWIN32_FIND_DATA;

2. FindNextFile

函数功能
可以用来遍历目录或文件时,判断当前目录下是否有下一个目录或文件;
根据调用FindFirstFile函数时指定的一个文件名查找下一个文件

函数原型

BOOL WINAPI FindNextFile(
_In_   HANDLE hFindFile,
_Out_  LPWIN32_FIND_DATA lpFindFileData
);

函数参数
hFindFile 上一次FindFirstFile或FindNextFile得到的HANDLE;
lpFindFileData 用于保存搜索得到的文件信息。

3. 使用举例

HANDLE file;
LPCTSTR lpFileName="浙江黄大豆\\*.*";
WIN32_FIND_DATA pNextInfo;
file=FindFirstFile(lpFileName, &pNextInfo);
if (file == INVALID_HANDLE_VALUE)
{cout<<"搜索失败"<<endl;system("pause");exit(0);
}
while (FindNextFile(file, &pNextInfo))
{if (pNextInfo.cFileName[0] == '.')continue;cout<<"得到文件:"<<pNextInfo.cFileName<<endl;
}

执行结果:

FindFirstFile和FindNextFile相关推荐

  1. FindFirstFile FindNextFile 以及_WIN32_FIND_DATA结构

    文章目录 `_WIN32_FIND_DATA` 作用: FindFirstFile 函数功能 函数声明 第一个参数 第二个参数 返回值(搜索句柄) FindNextFile 函数功能 函数声明 第一个 ...

  2. FindNextFile函数

    一.问题描述 使用FindFirstFile与FindNextFile遍历指定文件夹时,获取不到该文件夹下的文件. class CMySharedFile; bool GetAllFiles(LPCT ...

  3. 以金山界面库(openkui)为例思考和分析界面库的设计和实现——资源读取模块分析

    按照软件的执行流程,我们首先遇到<以金山界面库(openkui)为例思考和分析界面库的设计和实现--问题>中提出的最后一个问题:界面描述文件的放置位置.我们曾提出一种方案:将界面描述文件打 ...

  4. C#使用WIN32API来高效率的遍历文件和目录(转)

    我们有时需要遍历某个目录下的文件和子目录,可以使用System.IO.DirectoryInfo.GetDirectories或 GetFiles来获得目录下的所有的文件和子目录,当这个目录下的内容比 ...

  5. VC 读取文件夹里面的文件夹名

    参考书里面的写法.同学指导,C++ 一点也不会啊!!继续努力 #define _WIN32_WINNT 0x0400 #include "windows.h"  #include ...

  6. window和linux下遍历目录的比较

    window下,遍历目录主要是用FindFirstFile和FindNextFile,而linux下是用opendir和readdir实现 void scanFile(char *szDir) {WI ...

  7. Win64 驱动内核编程-5.内核里操作文件

    内核里操作文件 RING0 操作文件和 RING3 操作文件在流程上没什么大的区别,也是"获得文件句柄->读/写/删/改->关闭文件句柄"的模式.当然了,只能用内核 A ...

  8. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作

    最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...

  9. 代码统计工具1.1版本技术文档

    代码统计工具1.1版本技术文档 说明:主要记录自己在做这个项目的过程中用到的方法和相关技术 1.首先面临的问题就是怎样选择一个目录,网上搜索了一下,下面是解决方案(用到目录对话框) (1)从默认的磁盘 ...

  10. 《精通Windows API-函数、接口、编程实例》——第4章文件系统

    第4章文件系统 4.2 磁盘和驱动器管理 文件系统的基本概念: 包括磁盘分区,卷,目录,文件对象,文件句柄,文件映射 1.磁盘分区: 物理磁盘,逻辑磁盘 2.卷: 也称逻辑驱动器,是NTFS,FAT3 ...

最新文章

  1. 最短路算法总结(入门版)
  2. 【计算机网络】HTTP 与 HTTPS ( HTTP 在网络各个层级的传输过程 | HTTPS 工作流程 | HTTPS 弊端 )
  3. Hha mysql_libmySQL.dll
  4. C和C++语言编程里面常用函数或者编程技巧总结(不断更新)
  5. Tachyon更名为 Alluxio,并发布1.0版本
  6. html中列表导航怎么和图片对齐_HTML实战篇:html仿百度首页
  7. 理解React的组件
  8. 百度万亿流量的转发引擎 BFE 开源了!
  9. Python中多线程thread与threading的实现方法
  10. 可靠性标准: TL9000
  11. leetcode 经典动态规划DP算法题目(思路、方法、code)
  12. 无意间看到这样一首歌 Take me to your heart
  13. 这些痛,只有程序员懂…
  14. 交换机/路由器实验:最后说些什么
  15. 划分数,分苹果问题·计算机算法·动态规划·C/C++
  16. 【Linux】进程状态
  17. [计算机动画]Games103-作业1-刚体动画
  18. 【2020HBU天梯赛训练】7-17 PTA使我精神焕发
  19. 初学者 Vi 备忘单
  20. 随机森林 html5,利用随机森林回归算法预测总有机碳含量

热门文章

  1. (转)为什么用ls和du显示出来的文件大小有差别?
  2. oracle backup imp/exp
  3. 微信小程序:最新微信登录授权并获取openid等信息
  4. 建立网站需要什么条件_教育学校网站建设有什么作用?学校建立网站为的是什么?...
  5. abp后台任务BackGroundWorker
  6. 源码生成网站,开发帮助网站
  7. C# dataGridView中的数据导出到excel
  8. lodop转到其他html页面,vue项目中使用Lodop实现批量打印html页面和pdf文件
  9. js 对象数组追加元素
  10. PHP正则获取HTML里需要的数据