是否有比使用 C++ 的 FindFirstFile/FindNextFile 更快的枚举文件夹替代方法?

2023-11-27

我需要获取文件夹内子文件夹的所有路径(使用 WinAPI 和 C++)。到目前为止,我发现的唯一解决方案是递归调用查找第一个文件 / 查找下一个文件但在层次结构较深的文件夹上执行此操作需要花费大量时间。

所以我想知道,只是为了获取文件夹名称,是否有更快的方法?


如果您真的只需要子文件夹,您应该可以使用FindFirstFileEx with 搜索选项过滤掉非目录。

文档表明这只是一个建议标志,但您的文件系统可能支持此优化 - 尝试一下。

FindExSearchLimitToDirectories

这是一个咨询标志。如果文件 系统支持目录过滤,功能搜索文件 与指定名称匹配并且也是一个目录。如果文件 系统不支持目录过滤,这个标志是静默的 被忽略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有比使用 C++ 的 FindFirstFile/FindNextFile 更快的枚举文件夹替代方法? 的相关文章

随机推荐

  • Python SSL 服务器给我“501 Unsupported method GET”

    我已经关注了这个链接使用 SSL 构建一个简单的文件服务器 from http server import HTTPServer BaseHTTPRequestHandler import ssl httpd HTTPServer loca
  • 使用 Gmail 进行 SMTP 时,可以设置不同的“发件人”地址吗?

    我正在使用 Swift Mailer 406 发送电子邮件 我连接到我的 smtp gmail com 帐户 然后执行以下操作 gt setFrom array from gt fromname 但发送的邮件却是原来的gmail账户邮箱 我
  • 互斥锁优先级

    在多线程 2线程 程序中 我有这样的代码 while 1 m lock m unlock m是一个互斥锁 在我的例子中是一个 c 11std mutex 但我认为如果我使用不同的库它不会改变 假设第一个线程拥有互斥体并且它在 部分 第二个线
  • 对构造函数的未定义引用

    我是一名尝试使用 C 的 Java 开发人员 我刚刚创建了一个新课程 在我的其他课程中 我想要一个可以存储 Filter 对象的列表 Filter h ifndef FILTER H define FILTER H class Filter
  • 递归函数循环和堆栈

    众所周知 所有递归函数都可以仅使用单个循环和堆栈来编写 尽管这种转换可能被批评为丑陋或可读性较差 但其主要用途显然是避免破坏堆 有一些自然的方法可以将简单的递归函数转换为循环 例如 使用累加器进行简单的尾递归消除 到目前为止 我还没有看到这
  • 为什么使用非贪婪模式时 Java 正则表达式“匹配”与“查找”会得到不同的匹配? [复制]

    这个问题在这里已经有答案了 因此 我遇到了一个错误 该错误是由于期望 matches 方法找到与使用 find 完全相同的匹配项而引起的 通常是这种情况 但看起来如果非贪婪模式可以延伸到贪婪地接受整个字符串 那么它是允许的 这看起来像是 J
  • 最佳 bcrypt 工作因子

    密码散列的理想 bcrypt 工作因素是什么 如果我使用因子 10 则在我的笔记本电脑上散列密码大约需要 0 1 秒 如果我们最终得到一个非常繁忙的网站 那么仅仅检查人们的密码就会变成大量的工作 也许使用工作因子 7 会更好 将每次笔记本电
  • Git 克隆在特定存储库上返回结果 = 18 代码 = 200

    我正在尝试从我们公司存储库克隆内部存储库 但不断收到此错误 error RPC failed result 18 HTTP code 200 它总是仅在存储库完全下载后才会发生 需要一段时间 我尝试过使用 torotiseGit 这是报告
  • TeamCity 的 AssemblyInfo 修补程序的数字格式

    我曾经使用过 TeamCity WiX MSBuild 社区任务 现在我已经升级到 WiX 3 5 我不记得我是如何配置它的 当我浏览 TeamCity 时 我遇到了 AssemblyInfo Patcher 我想 太棒了 这将使我的生活变
  • 如何在 MATLAB 中创建分段内联函数?

    我在 MATLAB 中有一个函数 它接受另一个函数作为参数 我想以某种方式定义一个可以传入的分段内联函数 这在 MATLAB 中是否可行 编辑 我想代表的功能是 f x 1 0 0 0 lt x lt 0 5 1 0 0 5 lt x lt
  • 从 JavaScript 读取 web.config

    有什么方法可以使用 javascript 读取 web config 中的配置值吗 我为什么要这么做 我的网站中有一个计时器 如果用户 20 分钟不活动 它会弹出一个带有倒计时器的模式对话框 倒计时 2 分钟 如果用户没有响应 系统会将其注
  • 如果数组中的所有对象都有属性值,则返回 true

    我有一个对象数组 如下所示 scope objectArray Title object1 Description lorem Value 57 Title object2 Description ipsum Value 32 Title
  • 在 sqlalchemy 中使用计算列更新表

    我正在使用 SQLalchemy 在旧版 MSSQL 数据库中工作 我有一个声明性映射 该数据库有几个表 其中包含计算列 我可以很好地阅读它们 但是 当然 写入计算列不起作用 但是 当我创建并尝试保存 ORM 对象时 SQLAlchemy
  • 活动的 AlertDialog 样式按钮

    我有一个活动 底部有一个 保存 和 取消 按钮 在 AlertDialog 中 按钮显示在某种样式化的容器视图内 我怎样才能让我的活动中的按钮具有相同的外观 具体来说 我如何应用 AlertDialog 中按钮容器视图的样式来表示我的 Ac
  • 在 JavaScript 中将字符串转换为变量名

    我一直在寻找解决方案 但找不到任何有效的解决方案 我有一个变量叫做onlyVideo onlyVideo 字符串被传递到函数中 我想设置变量onlyVideo在函数内部作为某种东西 我怎样才能做到这一点 有很多变量可以被调用到函数中 所以我
  • Android 输入文本对话框

    当用户单击Button在我的应用程序中 打印在SurfaceView 我想要一条短信Dialog出现 我想将结果存储在String 我想要文字Dialog覆盖当前屏幕 我怎样才能做到这一点 听起来是一个使用的好机会警报对话框 尽管看起来很简
  • OpenCV 2.2 Windows XP MinGW 构建在namedWindow、imshow 上崩溃

    我下载了适用于 Windows 的最新 OpenCV 2 2 源代码 并在 CMake 2 8 的帮助下使用 MinGW 4 4 1 在 Windows XP 上进行编译 一切都很顺利 编译 mingw32 make 和安装 mingw32
  • 调试:为多列创建多个滞后的函数 (dplyr)

    我想创建多个变量的多个滞后 所以我认为编写一个函数会很有帮助 我的代码抛出警告 将向量截断为长度 1 和错误结果 library dplyr time lt c 2000 2009 2000 2009 x lt c 1 10 10 19 i
  • 将 HTML 转换为 XML

    我有数百个 HTML 文件需要转换为 XML 我们使用这些 HTML 为应用程序提供内容 但现在我们必须以 XML 形式提供这些内容 HTML 文件包含 表格 div 图像 p b 或强标记等 我用谷歌搜索并找到了一些应用程序 但我还无法实
  • 是否有比使用 C++ 的 FindFirstFile/FindNextFile 更快的枚举文件夹替代方法?

    我需要获取文件夹内子文件夹的所有路径 使用 WinAPI 和 C 到目前为止 我发现的唯一解决方案是递归调用查找第一个文件 查找下一个文件但在层次结构较深的文件夹上执行此操作需要花费大量时间 所以我想知道 只是为了获取文件夹名称 是否有更快