#include <iostream>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <string>
#include <iomanip>
#include <fstream>
#include <stdio.h>
using namespace std;
int main()
{
ifstream file;
string filename;
char character;
int letters[153] = {};
cout << "Enter text file name: ";
cin >> filename;
file.open(filename.c_str());
if (! file.is_open())
{
cout << "Error opening file. Check file name. Exiting program." << endl;
exit(0);
}
while (file.peek() != EOF)
{
file >> character;
if(!file.fail())
{
letters[static_cast<int>(character)]++;
}
}
for (int i = 0; i <= 153; i++)
{
if (letters[i] > 0)
{
cout << static_cast<char>(i) << " " << letters[i] << endl;
}
}
exit(0);
}
#endif
大家好,我当前的代码计算文本文件中每个字母的频率。但是,它不计算空格的数量。有没有一种简单的方法可以打印出 .txt 文件中的空格数?
另外,当我尝试访问矢量项目时,为什么会遇到段错误?例如,如果我使用:
cout << " " + letters[i] << endl;,它显示一个段错误。有任何想法吗?
太感谢了。