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

时间:2013-09-08 12:51:00

标签: c++ windows

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

1 个答案:

答案 0 :(得分:1)

这是我发现的here

  

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

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

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

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