标题:一个关于文件的操作,有问题,大家帮忙看看,谢谢了!!!
只看楼主
Invariably
Rank: 2
等 级:论坛游民
帖 子:54
专家分:46
注 册:2010-9-18
结帖率:90%
已结贴  问题点数:20 回复次数:5 
一个关于文件的操作,有问题,大家帮忙看看,谢谢了!!!
大家帮我看看这个对文件的操作是不是有问题,就是划线和打问号的地方,为什么后面的得不出结果呢?是不是这个循环的条件有问题?如果是,该怎么改?谢谢 各位了!!!
#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);
}

搜索更多相关主题的帖子: include count 
2011-06-09 23:28
wyhaoshuai
Rank: 2
等 级:论坛游民
帖 子:5
专家分:44
注 册:2011-6-9
得分:10 
char a;
infile>>a;
while(!infile.eof())
{
cout<<a;
(*(times+((int)a-33)))++;
infile>>a;
}
2011-06-10 09:02
记叙、继续
Rank: 4
等 级:业余侠客
帖 子:56
专家分:226
注 册:2011-5-17
得分:10 
楼主,循环不是用while吗!
2011-06-10 11:52
Invariably
Rank: 2
等 级:论坛游民
帖 子:54
专家分:46
注 册:2010-9-18
得分:0 
二楼,能否解释一下。。。。为什么要改成eof(),这一块我实在是不懂啊!
2011-06-10 12:44
Invariably
Rank: 2
等 级:论坛游民
帖 子:54
专家分:46
注 册:2010-9-18
得分:0 
三楼,循环是用while啊,有什么问题吗?
2011-06-10 12:45
wyhaoshuai
Rank: 2
等 级:论坛游民
帖 子:5
专家分:44
注 册:2011-6-9
得分:0 
eof就是end of file的简写;
用来判断是否是文件的结束。
2011-06-10 15:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-342367-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.912920 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved