在C++程序开发中,处理文本文件时经常需要实现关键词搜索功能,并且为了让用户快速定位匹配内容,往往还需要对搜索到的关键词进行高亮显示。string类的find方法是实现子串查找的核心工具,结合文件流操作和终端控制字符,就能完成这个需求。

实现思路梳理
整个功能的实现可以分为三个核心步骤:
- 使用文件流读取目标文本文件的全部内容,存储到string对象中
- 通过string::find方法循环查找目标关键词在内容中的所有出现位置
- 在控制台输出内容时,对匹配到的关键词添加高亮控制字符,其余内容正常输出
核心知识点说明
string::find方法
string::find是C++标准库中string类的成员函数,用于在字符串中查找子串,函数原型为:
size_t find (const string& str, size_t pos = 0) const;
其中str是要查找的子串,pos是开始查找的起始位置,返回值是子串第一次出现的位置索引,如果没有找到则返回string::npos。
控制台高亮实现
在主流的终端环境中,可以使用ANSI转义序列来控制文本样式,高亮显示通常使用