C++ 如何计算文本文件中特定单词的出现次数

C++ 如何计算文本文件中特定单词的出现次数,c++,string,io,count,C++,String,Io,Count,我被我正在做的一项任务难住了,甚至不知道从哪里开始,我认为我所拥有的可能是完全无用的 我试图读取一个包含8行文本的文本文件,每行的某个地方都有“line”一词。我需要计算单词“line”在文件中出现的总次数 到目前为止,我掌握了一些代码 ifstream file("output.txt"); int wcount = 0; string token; string word(line); while (file>>token) if (word == token)

我被我正在做的一项任务难住了,甚至不知道从哪里开始,我认为我所拥有的可能是完全无用的

我试图读取一个包含8行文本的文本文件,每行的某个地方都有“line”一词。我需要计算单词“line”在文件中出现的总次数

到目前为止,我掌握了一些代码

ifstream file("output.txt");    
int wcount = 0;
string token;
string word(line);
while (file>>token)
    if (word == token)
    wcount++;

cout << wcount << endl;
ifstream文件(“output.txt”);
int wcount=0;
字符串标记;
字符串字(行);
while(文件>>令牌)
如果(字==标记)
wcount++;
不能改变这一行:

string word(line);

更新

要检查文件是否已成功打开

ifstream file("output.txt");
if ( !file )
{
   // Deal with error.
}

// Read the contents of the file.
要检查单词是否被正确阅读

while (file>>token)
{
    std::cout << "Read the token: `" << token << "'" << std::endl;
    if (word == token)
       wcount++;
}
while(文件>>令牌)
{
std::cout更改此行:

string word(line);

更新

要检查文件是否已成功打开

ifstream file("output.txt");
if ( !file )
{
   // Deal with error.
}

// Read the contents of the file.
要检查单词是否被正确阅读

while (file>>token)
{
    std::cout << "Read the token: `" << token << "'" << std::endl;
    if (word == token)
       wcount++;
}
while(文件>>令牌)
{

std::请详细说明具体问题。就目前情况而言,您没有告诉我们哪些问题不起作用(您的代码看起来确实很接近)。一个好方法是以预期和实际输出的形式,或者以确切的编译器错误的形式,分享您以前解决此问题的尝试的结果。代码运行,但wcount在结尾处返回为0。请详细说明具体问题。目前,您还没有告诉我们哪些部分不起作用(您的代码看起来非常接近)。这样做的一个好方法是以预期和实际输出的形式,或以确切的编译器错误的形式,共享您以前尝试解决此问题的结果。代码运行,但wcount在结束时返回为0。它仍在输出0@user3317237,检查文件是否成功打开。@user3317237:然后您需要在读取每个单词时查看它。您的代码应该可以接受此更改,但您对单词的定义可能与您认为的单词不匹配。@JonathanLeffler我不是su您的意思是“您对单词的定义可能与您认为的单词不匹配”。@user3317237:您的“清理其他代码”是制作MCVE()或SSCCE()的原因之一。它消除了无关的内容,并确保您仍然可以用小规模的问题重现问题。当然,要开发MCVE,您可能仍然需要调试打印-或使用调试器运行代码。完成了。它仍在输出0@user3317237,检查文件是否已成功打开。@user3317237:n您需要在阅读时查看每个单词。您的代码应该可以接受此更改,但您对单词的定义可能与您认为的单词不匹配。@JonathanLeffler我不确定您的意思是“您对单词的定义可能与您认为的单词不匹配”。@user3317237:您的“清理其他代码”是制作MCVE的原因之一()或SSCCE()。它消除了无关的内容,并确保您仍然可以用小规模的问题重现问题。当然,要开发MCVE,您可能仍然需要调试打印,或者使用调试器运行代码。