打印

C程序读取文件,出现最后一行重复的解决方案

[复制链接]
1766|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vfdff|  楼主 | 2007-8-12 15:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int main(void)
{
     FILE *fp_in;
     char *phex=(char *)malloc(sizeof(char)*M);

    if((fp_in=fopen("C:cms.hex","r"))==NULL) /*文件名不区分大小写*/
    {
        perror("Error Open");      /*系统错误信息*/
    }

     fseek(fp_in, 0, SEEK_SET); 
    while(!feof(fp_in))         /*直到文件结束*/
    {
        fgets(phex,M,fp_in); /* 读取一行字符 */ 
        if(AnalyseHEX(phex)) 
        {                  

                     printf("%d %s ",AnalyseHEX(phex),phex);
             printf("the error file form !! "); 
             free(phex);
             fclose(fp_in);
              return 0 ;
        }    
                printf("%d %s ",AnalyseHEX(phex),phex);
    }

    printf("the exact file form !! "); /* 正确的intel hex文件 */ 
    fclose(fp_in);
    free(phex);
    return 0 ;
}
为何使用上面的程序读取文件,并吧读取的内容在显示器上输出的时候 最后一行重复显示呢 ,高手请教下该如何解决呢 ?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

48

帖子

1

粉丝