在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。有任何想法吗?我是以错误的方式接近这个吗?
答案 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)];