标题:倒着放的文件怎么读?
只看楼主
lqsqd
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-4-9
 问题点数:0 回复次数:0 
倒着放的文件怎么读?
我在读一种数据文件,文件前面是数据头,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]总是不对,也就是循环的第一个数据,请高手指点,问题在哪?
是否有其他更好的读法?
搜索更多相关主题的帖子: file 
2013-05-14 15:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407058-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179817 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved