敏感词检测——敏感词出现的次数和位置 运用<iostream> 和<string.h>头文件和strstr函数,输出敏感词位置和出现次数
时间: 2024-03-24 22:41:22 浏览: 98
好的,那我可以为您提供一个基于 `<iostream>` 和 `<string.h>` 头文件和 `strstr` 函数的敏感词检测的代码示例,可以实现敏感词出现的次数和位置的获取,并输出敏感词的位置和出现次数:
```c++
#include <iostream>
#include <string.h>
using namespace std;
// 定义敏感词库
const char* sensitiveWords[] = {"敏感词1", "敏感词2", "敏感词3", "敏感词4"};
// 敏感词检测函数
void sensitiveWordCheck(const char* text)
{
int textLen = strlen(text);
for (int i = 0; i < sizeof(sensitiveWords)/sizeof(char*); i++)
{
const char* p = text;
int count = 0;
while ((p = strstr(p, sensitiveWords[i])) != NULL)
{
count++;
cout << "敏感词:" << sensitiveWords[i] << ",位置:" << p - text << ",次数:" << count << endl;
p += strlen(sensitiveWords[i]);
}
}
}
int main()
{
const char* text = "这是一段包含敏感词1和敏感词2的文本,敏感词1出现了两次。";
sensitiveWordCheck(text);
return 0;
}
```
以上代码中,在敏感词检测函数 `sensitiveWordCheck` 中,我们使用了 `strstr` 函数进行字符串匹配,同时通过一个 `while` 循环统计敏感词在文本中的出现次数。统计完成后,我们输出敏感词的位置和出现次数。在 `main` 函数中,我们定义了一个待检测的文本 `text`,并调用 `sensitiveWordCheck` 函数进行敏感词检测和输出。
阅读全文