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