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 标准库文件系统操作,代码简洁易懂。
  • 递归遍历文件夹,确保所有文件都被搜索到。
  • 可以轻松修改搜索路径和字符串。

使用说明:

  1. 将代码复制到您的 C++ 项目中。
  2. 编译并运行程序。
  3. 修改 pathsearchStr 变量以指定要搜索的路径和文件名称。

示例:

如果 path 设置为 'C:/Users',searchStr 设置为 'file.txt',则该函数将查找所有名为 'file.txt' 的文件,并在 'C:/Users' 目录及其子目录中找到它们。

注意:

  • 该函数仅搜索文件名,不会检查文件内容。
  • 确保您具有搜索路径的读取权限。
C++ 文件搜索函数示例 - 使用标准库文件系统

原文地址: https://www.cveoy.top/t/topic/oYMS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录