今天同学场外求助,让我帮写一个小程序,
题目:统计某文本文件中出现了那些字符,并打印这些字符和个数~
想法:通过ifstream来读取每一行,统计每一行的字符出现的个数,保存在tempChar中,tempChar为256个字符的数组,类似哈希表的思想;
代码:
#include<iostream>
#include <fstream>
void findChars(string filepath)
{
int tempChar[256];
for(int i=0;i<256;i++)
{
tempChar[i]=0;
}
char str1[256] ;
ifstream fileIn;
fileIn.open(filepath);
while(!fileIn.eof())
{
fileIn.getline(str1,256);
for (int i=0;i<strlen(str1);i++)
{
tempChar[str1[i]]++;
}
}
for(int i=1;i<256;i++)
{
if (tempChar[i]!=0)
{
cout<<((char)i)<<tempChar[i]<<endl;
}
}
fileIn.close();
}
int main(int argc, char const *argv[])
{
findChars("E:\\1.txt");
}