【发布时间】:2018-03-20 03:34:32
【问题描述】:
尝试编写一个函数来分析输入文件并输出诸如不同字符、每个单词的平均长度和总单词数等信息。我无法弄清楚如何跟踪字符串中的不同字符。例如以下行:
成为或不成为,这是个问题。
应返回 10 个总字数、12 个不同字符和 3.2 个平均字长。
这是我到目前为止的代码:
void fileInfo(const string& fileName)
{
ifstream in(fileName);
if (in.fail())
{
cout << "Error, bad input file.";
}
string line = "";
int wordTotal = 0;
while (getline(in, line))
{
istringstream ss(line);
string word = "";
while (ss >> word)
{
wordTotal++;
for (size_t i = 0, len = word.size(); i < len; i++)
{
if (word.at(i))
}
}
{
}
【问题讨论】:
-
由于
std::set不存储重复项,您可以使用std::set<char>并将单词中的每个字符插入到集合中。
标签: c++ while-loop char istream