C++实现统计一个文本文件中某个字符串出现的次数,把该字符串的出现次数及出现的各个位置输出到显示器
时间: 2023-11-10 20:06:34 浏览: 194
可以使用C++中的fstream库来读取文本文件,然后使用字符串查找函数来统计某个字符串出现的次数并输出出现的位置。
以下是一个示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string filename, search_str;
cout << "Enter filename: ";
cin >> filename;
cout << "Enter search string: ";
cin >> search_str;
ifstream file(filename);
if (!file.is_open()) {
cerr << "Error opening file!" << endl;
return 1;
}
string line;
int count = 0;
while (getline(file, line)) {
size_t pos = line.find(search_str);
while (pos != string::npos) {
count++;
cout << "Found at position " << pos << endl;
pos = line.find(search_str, pos + 1);
}
}
cout << "Total count: " << count << endl;
return 0;
}
```
该程序首先要求用户输入文件名和要查找的字符串,然后打开文件进行逐行读取。对于每一行,使用字符串查找函数`find()`查找字符串出现的位置并输出,直到该行中没有该字符串。同时,统计该字符串出现的总次数并输出。
阅读全文