我正在用 C++ 编写一个文件系统程序。现在我尝试编写一个文件查找功能。首先我希望程序能够在所有系统中搜索文件。我使用 FindFirstFile 和 FindNextFile Windows API 函数。首先我应该调用 FindFirstFile ,并给它一个目录,它必须在其中搜索文件。但我不知道,如何指定目录以便 FindFirstFile 在所有系统中搜索。请帮我解决这个问题。我将非常感谢任何帮助。
问问题
434 次
1 回答
1
这就是我在这里找到的:
您不能在 FindFirstFile 的 lpFileName 输入字符串中使用尾部反斜杠 (),因此如何搜索根目录可能并不明显。如果您想查看文件或获取根目录的属性,可以使用以下选项: 要检查根目录中的文件,您可以使用
"C:\*"
FindNextFile 并逐步浏览该目录。要获取根目录的属性,请使用 GetFileAttributes 函数。注意 前置字符串“\?\”不允许访问根目录。
获取您可能使用的可用驱动器列表GetLogicalDriveStrings()
。这将返回一个以空结尾的字符串的双空结尾列表。例如,假设您有驱动器A, B
并且C
在您的机器中。返回的字符串如下所示:
A:\<nul>B:\<nul>C:\<nul><nul>
于 2013-09-08T12:56:09.907 回答