倒着放的文件怎么读?
我在读一种数据文件,文件前面是数据头,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]总是不对,也就是循环的第一个数据,请高手指点,问题在哪?
是否有其他更好的读法?