当前位置: 代码迷 >> C语言 >> 请教:读二进制文件的问题
  详细解决方案

请教:读二进制文件的问题

热度:419   发布时间:2007-05-31 17:43:10.0
请教:读二进制文件的问题

附件中三个文件,
FILEREAD.C
FILEREAD.TXT
PMRES

fileread.c 要读取二进制文件PMRES中的内容,并在屏幕上显示十六进制数。

问题:
1、碰到 0D的BYTE,程序读不出来,当然在屏幕上也显示不出来。
2、屏幕输出重定向文件:FILEREAD.TXT截止到第一个内容为1A的BYTE,下面的内容就读不出来了。

源程序如下:
#include<stdio.h>
main()
{
FILE *fp;
int ch;
int i=0;
if((fp=fopen("pmres","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (!feof(fp))
{
/*putchar(ch);*/
if(i<16)
{
i++;
printf("%02x ",ch);
}
else
{
i=0;
printf("\n%02x " ,ch);
i++;
}
ch=fgetc(fp);
}
printf("\n\n\n");
fclose(fp);
}

请指教。
俺下班了,明天来看。
对了,俺用的是TC20

下班后,用C-FREE编译后执行,上述第一个问题解决了。但是为什么?

[此贴子已经被作者于2007-5-31 23:55:21编辑过]

搜索更多相关的解决方案: 二进制  文件  

----------------解决方案--------------------------------------------------------

自己顶一下


----------------解决方案--------------------------------------------------------
  相关解决方案