使用C++代码实现用输入输出流实现文章中字符出现频率统计
时间: 2024-02-23 17:58:49 浏览: 76
好的,以下是使用C++代码实现用输入输出流实现字符出现频率统计的程序:
```cpp
#include <iostream>
#include <fstream>
#include <map>
int main()
{
// 打开输入文件
std::ifstream in_file("input.txt");
if (!in_file)
{
std::cerr << "Error: unable to open input file!" << std::endl;
return 1;
}
// 创建字符频率的map
std::map<char, int> freq_map;
// 逐个读取字符并更新频率表
char ch;
while (in_file.get(ch))
{
if (std::isalpha(ch))
{
++freq_map[std::tolower(ch)];
}
}
// 关闭输入文件
in_file.close();
// 打开输出文件
std::ofstream out_file("output.txt");
if (!out_file)
{
std::cerr << "Error: unable to open output file!" << std::endl;
return 1;
}
// 输出结果到文件
for (const auto& p : freq_map)
{
out_file << p.first << ": " << p.second << std::endl;
}
// 关闭输出文件
out_file.close();
return 0;
}
```
这个程序通过打开输入文件和输出文件,并使用 `std::ifstream` 和 `std::ofstream` 来实现对文件的读取和写入。然后程序使用一个 `std::map` 来存储每个字母出现的频率,并遍历输入文件中的每个字符,并更新频率表。最后程序遍历频率表,并将结果输出到输出文件中。
阅读全文