如何指定在整个系统中搜索文件的目录

How to specify the directory for searching file all over the system

本文关键字:文件 搜索 系统 何指定      更新时间:2023-10-16

我正在用C++编写一个文件系统程序。现在我尝试编写一个文件查找函数。首先,我希望程序能够在所有系统中搜索文件。我使用 FindFirstFile 和 FindNextFile Windows API 函数。首先,我应该调用 FindFirstFile ,并给它目录,它必须在其中搜索文件。但我不知道,如何指定目录,以便 FindFirstFile 在所有系统中搜索。请帮我解决这个问题。我将非常感谢任何帮助。

这是我

在这里找到的:

不能在 lp文件名输入字符串中使用尾随反斜杠 () 对于查找第一个文件,因此如何搜索根可能并不明显 目录。如果要查看文件或获取根的属性 目录中,以下选项将适用: 检查 根目录,您可以使用"C:*"并通过以下方式逐步浏览目录 使用查找下一个文件。若要获取根目录的属性,请使用 获取文件属性函数。注意 在字符串"\?\"前面添加 不允许访问根目录。

获取可用驱动器的列表,您可以使用GetLogicalDriveStrings() 。这将返回以 null 结尾的字符串的双 null 终止列表。例如,假设您的机器中有驱动器A, BC。返回的字符串如下所示:

A:<nul>B:<nul>C:<nul><nul>

https://stackoverflow.com/a/18573199/1141471