一个关于文件的操作,有问题,大家帮忙看看,谢谢了!!!
大家帮我看看这个对文件的操作是不是有问题,就是划线和打问号的地方,为什么后面的得不出结果呢?是不是这个循环的条件有问题?如果是,该怎么改?谢谢 各位了!!!#include<iostream>
#include<fstream.h>
#include<stdlib.h>
#include<string.h>
void timesprint(int*times)
{//输出字符以及它在文件中出现的频度
cout<<"字符-------"<<"频度"<<endl;
for(int i=0;i<94;i++)
{
cout<<(char)(i+33)<<"------"<<*(times+i)<<endl;
}
}
int main()
{
const count=94;//对ascii码为33到126的字符进行编码
int *times=(int*)malloc(94*sizeof(int));//为存储字符出现的频度分配内存空间
for(int i=0;i<94;i++)
{
*(times+i)=0;
}//频度数组初始化
fstream infile,outfile;
infile.open("wenjian.txt",ios::in);
if(!infile)
{
cout<<"wenjian.txt can't be open"<<endl;
abort();
}
cout<<"文件打开了"<<endl;
char a;//用来暂存读进来字符
while(infile.get())//?????????
{
a=infile.get();
cout<<a;
(*(times+((int)a-33)))++;
}//统计文件中的字符频度
cout<<"统计完毕"<<endl;
timesprint(times);
return 0;
free(times);
}