[在文本文件中搜索] [C 中的记事本 插件]

[Searching in Text File][Notepad++ plugin in C++]

本文关键字:插件 记事本 搜索 文本 文件      更新时间:2023-10-16

i在C 中创建了一个记事本 插件。它在日志文件中的关键字之间搜索并在此关键字之间复制整个数据。(此关键字完全在文件中发生两次或不出现完全发生)。 这是我的代码

        std::ifstream in(curr_file_path);
        std::string search("TEXT TO SEARCH");
  while (std::getline(in, line))
     {
        r_val = line.find(search);
        if (r_val != -1)
        {
            f_match = r_val;
            r_val = -1;
            while (r_val == -1)
            {
                std::getline(in, line);
                r_val = line.find(search);
                for (int i = 0; i < line.size(); i++)
                {
                    pDestText[textLen++] = line[i];
                }
            }
            pDestText[textLen - 27] = '';
            break;
        }
    }
 }

搜索是要搜索的字符串。输入文件已在。我的查询是,因为日志文件很大,它花费大约5秒钟。 。50000行的代码并丢弃错误,如果其少于50000行。

在搜索时,我建议您使用适合您需求的算法

http://bigocheatsheet.com/

尝试查看此链接,因为这可能会帮助您选择什么。您将使用哪种算法有利弊。如果您认为它将比列出的要优化得多,也可以将两种或多种算法组合起来,甚至可以自己制作。