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

[复制链接]
 楼主| vfdff 发表于 2007-8-12 15:52 | 显示全部楼层 |阅读模式
int&nbsp;main(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE&nbsp;*fp_in;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*phex=(char&nbsp;*)malloc(sizeof(char)*M);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if((fp_in=fopen(&quot;C:cms.hex&quot;,&quot;r&quot;))==NULL)&nbsp;/*文件名不区分大小写*/<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(&quot;Error&nbsp;Open&quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*系统错误信息*/<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fseek(fp_in,&nbsp;0,&nbsp;SEEK_SET);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(!feof(fp_in))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*直到文件结束*/<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fgets(phex,M,fp_in);&nbsp;/*&nbsp;读取一行字符&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(AnalyseHEX(phex))&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d        %s
&quot;,AnalyseHEX(phex),phex);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;the&nbsp;error&nbsp;file&nbsp;form&nbsp;!!
&quot;);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(phex);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose(fp_in);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d        %s
&quot;,AnalyseHEX(phex),phex);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;the&nbsp;exact&nbsp;file&nbsp;form&nbsp;!!
&quot;);&nbsp;/*&nbsp;正确的intel&nbsp;hex文件&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;fclose(fp_in);<br />&nbsp;&nbsp;&nbsp;&nbsp;free(phex);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0&nbsp;;<br />}<br />为何使用上面的程序读取文件,并吧读取的内容在显示器上输出的时候&nbsp;最后一行重复显示呢&nbsp;,高手请教下该如何解决呢&nbsp;?<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

48

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

17

主题

48

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部