int main(void)<br />{<br /> FILE *fp_in;<br /> char *phex=(char *)malloc(sizeof(char)*M);<br /><br /> if((fp_in=fopen("C:cms.hex","r"))==NULL) /*文件名不区分大小写*/<br /> {<br /> perror("Error Open"); /*系统错误信息*/<br /> }<br /><br /> fseek(fp_in, 0, SEEK_SET); <br /> while(!feof(fp_in)) /*直到文件结束*/<br /> {<br /> fgets(phex,M,fp_in); /* 读取一行字符 */ <br /> if(AnalyseHEX(phex)) <br /> { <br /><br /> printf("%d %s
",AnalyseHEX(phex),phex);<br /> printf("the error file form !!
"); <br /> free(phex);<br /> fclose(fp_in);<br /> return 0 ;<br /> } <br /> printf("%d %s
",AnalyseHEX(phex),phex);<br /> }<br /><br /> printf("the exact file form !!
"); /* 正确的intel hex文件 */ <br /> fclose(fp_in);<br /> free(phex);<br /> return 0 ;<br />}<br />为何使用上面的程序读取文件,并吧读取的内容在显示器上输出的时候 最后一行重复显示呢 ,高手请教下该如何解决呢 ?<br /> |
|