Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 正在获取用户上的文件和文件夹列表';s计算机,文件名由文本行过滤_C++_Windows_File_Indexing - Fatal编程技术网

C++ 正在获取用户上的文件和文件夹列表';s计算机,文件名由文本行过滤

C++ 正在获取用户上的文件和文件夹列表';s计算机,文件名由文本行过滤,c++,windows,file,indexing,C++,Windows,File,Indexing,目前,我正在开发一个项目,该项目应该在Windows上完成上述操作。我的想法是反复检查所有用户的驱动器,然后收集所有信息,但这似乎真的很耗时。那么,有没有更好的方法来做这样的事情(可能使用操作系统的索引文件或NTFS MFT) 我使用C++/Qt。您可以在许多代码示例中搜索并使用一个 您使用和优化的库查找将直接进入FAT。它们是由微软编码的&我怀疑有没有更快的方法 顺便问一下,“按文本行过滤”是什么意思?您的意思是只需要与特定模式匹配的文件名(使用上述内容)还是包含字符串的文件?您的意思是按文件

目前,我正在开发一个项目,该项目应该在Windows上完成上述操作。我的想法是反复检查所有用户的驱动器,然后收集所有信息,但这似乎真的很耗时。那么,有没有更好的方法来做这样的事情(可能使用操作系统的索引文件或NTFS MFT)


我使用C++/Qt。

您可以在许多代码示例中搜索并使用一个

您使用和优化的库查找将直接进入FAT。它们是由微软编码的&我怀疑有没有更快的方法


顺便问一下,“按文本行过滤”是什么意思?您的意思是只需要与特定模式匹配的文件名(使用上述内容)还是包含字符串的文件?

您的意思是按文件名过滤还是按内容过滤?您的解决方案建议使用前者,但标题似乎表明了后者。@molbdnilo我的意思是按文件名筛选。我的意思是文件名与字符串匹配。我想您的意思是希望文件名与字符串匹配。因此,请使用FindFirstFile和FindNext文件。FindFirstFile的第一个参数是“指向以null结尾的字符串的lpFileName[in]指针,该字符串指定有效的目录或路径和文件名,其中可以包含通配符,例如星号(*)或问号(?)。@gxoptg您将在此处找到一个很好的代码示例。。。只需更改行“StringCchCat(szDir,MAX\u PATH,TEXT(\*”);”符合你的模式