[在文本文件中搜索] [C 中的记事本 插件]
[Searching in Text File][Notepad++ plugin in C++]
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/
尝试查看此链接,因为这可能会帮助您选择什么。您将使用哪种算法有利弊。如果您认为它将比列出的要优化得多,也可以将两种或多种算法组合起来,甚至可以自己制作。
相关文章:
- 从C++本机插件更新Vector3数组
- 使用CMake创建QML插件
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- clang 插件:在编译过程中修改 AST
- 实现动态插件管理器
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- Agora.io 虚幻引擎插件构建错误
- 使用带有C++对象和标准库容器的插件系统
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 通过 Gazebo 世界插件将静态对象附加到机器人链接
- 如何为模块化应用程序实现C++插件系统
- 'string'文件在带有C++文件的iOS插件上找不到
- 在 Android 上安装 GStreamer 插件
- 如何使用MSVC 2019创建和使用Qt 5.14.0自定义小工具插件
- [在文本文件中搜索] [C 中的记事本 插件]
- 在C 中创建一个记事本 插件
- 在记事本++插件中获取当前光标位置
- 如何调试记事本++ DLL插件