我目前正在尝试编写一个程序来检查txt文件以查找特定的单词,游侠并对其进行计数。 一旦计算好所有内容,我需要打印出游侠总数和字符串总数。我不知道如何做到这一点。
我几乎失败了c ++,真的需要这个帮助。这是我到目前为止所提出的:
WHERE
答案 0 :(得分:0)
使用以下策略。
int main()
{
int count = 0;
std::ifstream rangerin("Ranger.txt");
if ( !rangerin ) {
cout << "Invalid File\n";
return EXIT_FAILURE;
}
std::string word;
while ( rangerin >> word )
{
// This needs to be modified if case insensitive comparison
// is expected.
if ( word == "ranger" )
{
++count;
}
}
std::cout << "Number of times 'ranger' was found: " << count << std::endl;
return 0;
}
修改强>
上述方法的问题在于,如果您的文件中有ranger,
,则不会被计算在内。这意味着必须稍微改进一下比较。
编写一个函数isWordRanger
并隐藏该函数中的详细信息。
bool isWordRanger(string const& word)
{
// Add additional refined checks as needed.
return ( (word == "ranger") ||
(word == "ragner,") ||
(word == "ranger.") );
}
并更改main
以使用:
if ( isWordRanger(word) )
{
++count;
}