从文本读入数据可以用fstream in;in>>ch;这种方式读。
但是用read将数据读入内存中效率更高,如下:
#include <iostream>
#include <fstream>
#include <string.h>
#define N 300
using namespace std;
int main()
{
int cnt[N],num;
char buf[N];
fstream in;
in.open("in.txt", ios::in);
if(in == NULL) return 0;
memset(cnt, 0 ,sizeof cnt);
if(in.good()) //判断是否到文件尾
{
in.read(buf,sizeof buf); //将数据读入buf
num = in.gcount(); //读入数据的大小
for(int i = 0; i < num; i++)//统计字符频率
cnt[buf[i]]++;
}
return 0;
}