c/c++提取TXT文本中两个关键词之间的内容
时间: 2023-03-21 08:03:01 浏览: 230
您好,可以使用C/C++编程语言提取TXT文本中两个关键词之间的内容。您可以先读取整个文本文件,然后使用字符串函数找到第一个关键词出现的位置,再使用同样的方法找到第二个关键词出现的位置,最后提取两个关键词之间的内容并输出即可。以下是一个简单的C++示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string filename = "test.txt"; // 替换成你的文本文件名
string keyword1 = "关键词1"; // 替换成你要查找的第一个关键词
string keyword2 = "关键词2"; // 替换成你要查找的第二个关键词
ifstream file(filename);
if (!file.is_open()) {
cout << "无法打开文件!" << endl;
return 1;
}
string content;
getline(file, content, '\0'); // 读取整个文件内容
size_t pos1 = content.find(keyword1);
size_t pos2 = content.find(keyword2);
if (pos1 == string::npos || pos2 == string::npos || pos1 >= pos2) {
cout << "无法找到指定的关键词!" << endl;
return 1;
}
string result = content.substr(pos1 + keyword1.length(), pos2 - pos1 - keyword1.length());
cout << result << endl;
return 0;
}
```
在以上代码中,`filename`、`keyword1`和`keyword2`分别表示要操作的文件名、要查找的第一个关键词和第二个关键词。程序会先打开文件,然后读取整个文件内容并存储到字符串变量`content`中。接下来使用`string::find()`函数查找两个关键词在`content`中的位置,如果找到了则使用`string::substr()`函数提取两个关键词之间的内容并存储到字符串变量`result`中,最后将结果输出到控制台。
需要注意的是,以上代码只是一个简单的示例,实际应用中还需要考虑更多的异常情况和错误处理。
阅读全文