C 计数字符来自文本文件,无论情况如何
C++ Counting character occurrence from a text file regardless of case
在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。有任何想法吗?我是以错误的方式接近这个问题吗?
是的,您可以使用tolower
将字符转换为小写,我已经修改了您的代码,希望它可以帮助您:
while (myfile >> character)
++char_count[tolower(character)];
您的解决方案适用。
只需使用tolower
并将char转换为int。
相关文章:
- 为什么在某些情况下不写入此文件?
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 有没有办法在不使用 getline() 的情况下从.csv文件中读取?
- 是否可以在没有真实文件的情况下创建 ifstream
- 在 c++ 中连接字符串和整数,以便在 C++ 11 不支持计算机的情况下读取多个文件
- 如何在多写入器情况下对文件支持的共享内存中的大页面出错
- 如何在添加文件的情况下在VSCode中调试C++程序
- 每个文件(理想情况下是每个部分)的 clang 格式样式覆盖
- 如何找到目标文件 *.o 的 ram rom 使用情况(.bss .text .rodata .data)?
- 如何在不重新创建现有文件的情况下写入.txt文件
- 如何在不知道大小的情况下读取文本文件并存储到数组中
- 如何使用Winforms C#或C++.Net在不更改文件中其他内容的情况下修改jpg文件中的Orientation e
- 如何在不循环的情况下使用getline读取文件
- 在不打开应用程序的情况下在MinGW c++中播放声音(.wav)文件
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- 如何在不包含完整的文件系统头的情况下使用文件系统的类路径C++17?
- 测量任何 Windows 可执行文件的内存使用情况和执行时间
- 如何在不设置 ulimit -n 的情况下解决套接字程序打开太多文件的错误