C++ 如何在一个txt文件里让用户搜索关键字,然后最后显示出关键字出现的次数以及出现的txt文件名

求C++高手啊!!如何在一个txt文件里搜索关键字,先让用户输入关键字,然后最后显示出关键字在txt文本出现的次数以及txt的文件名

#include <iostream>
#include <fstream>
using namespace std;

int main() {
int i,counter = 0;
ifstream readfile;
char filename[60];
char text[60],ch;
cout << "待查找的文件名:";
cin >> filename;
readfile.open(filename);
if(readfile.is_open == false) {
cout << "没有找到文件:" << filename << endl;
return 1;
}
while(cin.get() != '\n')
;
cout << "待查找的关键字:";
cin.getline(text,60);
i = 0;
while(readfile >> ch) {
if(ch == text[i]) {
for(++i; text[i] && (readfile >> ch); ++i)
if(text[i] != ch) break;
if(text[i] == '\0') ++counter;
if(ch == text[0]) i = 1;
else i = 0;
}
}
cout << "\n文 件 名: " << filename << endl;
cout << "关 键 字: " << text << endl;
cout << "出现次数: " << counter << endl;
return 0;
}

追问

如果是给定文件001.txt和002.txt等查找的话应该怎么写啊,

追答

运行后见到提示"待查找的文件名:"时,输入相应的文件名即可。

追问

那可不可以写代码合在一起呢。如结果:输出关键字在001.txt出现多少次,在002.txt出现多少次,你QQ多少啊我可以加你吗?

追答

876929541

追问

你怎么不回我呢0.0总之就是怎么同时把001.txt和002.txt放进去最后输出结果呢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-02-05
这个就是字符串的匹配啊。

可以将txt文件中存储的数据读取到 String中,如果TXT文件很大的话,就可以分多次读取,
读取到string中,然后就是字符串匹配的问题了。
就是找一个字符串在另一个字符串中出现的次数。
第2个回答  2016-01-15
文件操作 + 模式匹配
第3个回答  2014-05-06
不会的啊
相似回答