注册 登录
编程论坛 Delphi论坛

倒着放的文件怎么读?

lqsqd 发布于 2013-05-14 15:57, 656 次点击
我在读一种数据文件,文件前面是数据头,2880字节,后面是两个字节的整型,但顺序是倒着放的,也就是说,
要从尾部向前读。我的程序如下:

var
  buf: array[1..2100032] of byte; //1024*1024*2+2880
  c: array[1..1048576] of word;  //1024*1024
  i,:integer;
  f: file;
  p2,p3: ^word;

begin
  assignfile(f,'d:\new.fits');
      reset(f,2100036);
      blockread(f,buf,1,num);

      for i := 1050016 downto 1441 do  begin
        p2 := @buf[2*i];
         c[i-1440] := p2^;
     end;
closefile(f);

end;

但这样读出的数据,最后一个数据c[1048576]总是不对,也就是循环的第一个数据,请高手指点,问题在哪?
是否有其他更好的读法?
0 回复
1