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 ; } 为何使用上面的程序读取文件,并吧读取的内容在显示器上输出的时候 最后一行重复显示呢 ,高手请教下该如何解决呢 ?
|