在我的项目中,我必须创建一个程序来读取文件并计算特定单词出现的次数

问题描述 投票:0回答:1

到目前为止,它读取文件并计算文件中的每个单词,但我希望它只计算单词“Ball”。我想知道我该怎么做。这是文本文件和代码中的内容:

编程.txt

Ball, Ball, Cat, Dog, Ball,
#include <iostream>
#include <fstream>
#include <string> 
#include <sstream>
using namespace std;

int main()
{
    
    ifstream file("Programming.txt");

    if(file.is_open())
    {
        string line;
        int wordcount = 0;
        
        while(getline(file, line))
        {
            stringstream ss(line);
            string word = "Ball";
        
            while(ss >> word)
            {
                wordcount++;
            }
        }

        file.close();
        cout << "Ball occurred " << wordcount << " times";
    }
    else
    {
        cerr << "File is closed!";
    }   
}

我得到的输出是“球发生了 5 次”

我尝试为每个“word”、“line”和“ss”变量赋予值“Ball”:

word = "Ball"
line = "Ball"
stringstream ss = "Ball";
ss(line);"

我还尝试使用 for 循环来使用单词变量来计算 Ball 的每次出现:

word = "Ball"
for(int i = 0; i <= word; i++)
{  
cout << i;
}

我希望这两个都只计算“Ball”这个词

不幸的是都失败了

c++ file-handling counting find-occurrences
1个回答
0
投票

从文件中读取后需要比较

word
的值,例如:

string word;
while(ss >> word)
{
    if (word == "Ball")
        wordcount++;
}
© www.soinside.com 2019 - 2024. All rights reserved.