1

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

4

1 回答 1

1

这就是我在这里找到的:

您不能在 FindFirstFile 的 lpFileName 输入字符串中使用尾部反斜杠 (),因此如何搜索根目录可能并不明显。如果您想查看文件或获取根目录的属性,可以使用以下选项: 要检查根目录中的文件,您可以使用"C:\*"FindNextFile 并逐步浏览该目录。要获取根目录的属性,请使用 GetFileAttributes 函数。注意 前置字符串“\?\”不允许访问根目录。

获取您可能使用的可用驱动器列表GetLogicalDriveStrings()。这将返回一个以空结尾的字符串的双空结尾列表。例如,假设您有驱动器A, B并且C在您的机器中。返回的字符串如下所示:

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

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

于 2013-09-08T12:56:09.907 回答