gpt4 book ai didi

c++ - 计算文本文件中的单词出现次数

转载 作者:搜寻专家 更新时间:2023-10-31 02:13:07 25 4
gpt4 key购买 nike

这是我基于此处的代码 http://www.thecrazyprogrammer.com/2015/02/c-program-count-occurrence-word-text-file.html . (C++ 中的新功能)

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


int main()
{
// std::cout << "Hello World!" << std::endl;
// return 0;

ifstream fin("my_data.txt"); //opening text file
int count=0;
char ch[20],c[20];

cout<<"Enter a word to count:";
gets(c);

while(fin)
{
fin>>ch;
if(strcmp(ch,c)==0)
count++;
}

cout<<"Occurrence="<<count<<"n";
fin.close(); //closing file

return 0;

}

模式计数错误

my_data.txt 中只有 3 个“world”,但是当我运行该程序时,结果为

enter image description here

这是文本文件的内容

enter image description here会出什么问题?

最佳答案

使用 std::string 的解决方案

int count = 0;
std::string word_to_find, word_inside_file;

std::ifstream fin("my_data.txt");
std::cout << "Enter a word to count:";
std::cin >> word_to_find;
while (fin >> word_inside_file) {
if (word_to_find == word_inside_file )
count++;
}

std::cout << "Occurrence=" << count << "";

如果你想在其他字符串中找到所有出现的地方,正如评论中提到的,你可以这样做:

...
while (fin >> word_inside_file) {
count += findAllOccurrences(word_to_find, word_inside_file);
}
...

findAllOccurrences(std::string, std::string) 中,您将实现“查找另一个字符串中出现的所有字符串”算法。

关于c++ - 计算文本文件中的单词出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41848369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com