C ++无论大小写,都从文本文件中计算字符的出现次数

时间:2017-09-16 18:36:53

标签: c++

在C ++中,我试图从文件中获取文本并计算字符的出现次数,忽略大小写的差异。到目前为止,我可以做到这一点而不会忽视案例。

map<char, size_t> char_count;
char character;
while (myfile >> character)
    ++char_count[character];   // fetch and increment the counter for word
for (const auto &w : char_count) // for each element in the map
    // print the results
    cout <<  w.first << " occurs " << w.second
         << ((w.second > 1) ? " times" : " time") << endl;

我的解决办法是:

character = tolower(character)

tolower()不会接受char,只接受int。有任何想法吗?我是以错误的方式接近这个吗?

2 个答案:

答案 0 :(得分:0)

您的解决方案适用 只需使用static String[] titles ={getString(R.string.home), getString(R.string.profile), getString(R.string.settings), getString(R.string.exit)}; 并将char转换为int。

答案 1 :(得分:0)

这是真的,您可以使用tolower将字符转换为小写,我已修改您的代码,我希望它可以帮助您:

while (myfile >> character)
    ++char_count[tolower(character)];