C++ 文件搜索函数示例 - 使用标准库文件系统
C++ 文件搜索函数示例 - 使用标准库文件系统
以下是一个简单的 C++ 搜索文件的函数示例,使用 C++17 的标准库文件系统操作:
#include <iostream>
#include <string>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
void searchFiles(string path, string searchStr) {
for (const auto &entry : fs::recursive_directory_iterator(path)) {
if (entry.is_regular_file() && entry.path().filename().string().find(searchStr) != string::npos) {
cout << entry.path() << endl;
}
}
}
int main() {
string path = 'C:/Users';
string searchStr = 'file.txt';
searchFiles(path, searchStr);
return 0;
}
该函数遍历指定路径下的所有文件,并在文件名中查找包含指定字符串的文件。如果找到匹配的文件,就将其路径打印到控制台上。在主函数中,我们指定要搜索的路径和要查找的字符串。您可以根据需要修改这些参数。
优点:
- 使用 C++17 标准库文件系统操作,代码简洁易懂。
- 递归遍历文件夹,确保所有文件都被搜索到。
- 可以轻松修改搜索路径和字符串。
使用说明:
- 将代码复制到您的 C++ 项目中。
- 编译并运行程序。
- 修改
path和searchStr变量以指定要搜索的路径和文件名称。
示例:
如果 path 设置为 'C:/Users',searchStr 设置为 'file.txt',则该函数将查找所有名为 'file.txt' 的文件,并在 'C:/Users' 目录及其子目录中找到它们。
注意:
- 该函数仅搜索文件名,不会检查文件内容。
- 确保您具有搜索路径的读取权限。
原文地址: https://www.cveoy.top/t/topic/oYMS 著作权归作者所有。请勿转载和采集!