我定义了一种文件结构用于存储一本漫画,实际上是将jpg图片一个接一个连续的写入一个文件
文件结构:
书名 语言 页数
页号(2字节)
文件块(1000字节) 标志(1字节)
文件块(1000字节) 标志(1字节)
文件块(1000字节) 标志(1字节)
……
文件块(1000字节) 标志(1字节)标志为255标示一页结束
页号(2字节)
文件块(1000字节) 标志(1字节)
文件块(1000字节) 标志(1字节)
文件块(1000字节) 标志(1字节)
……
文件块(1000字节) 标志(1字节)标志为255标示一页结束
……
为什么我读出第一个图片后,再读第二个图片就出错
我声明了一个记录类型
Tinfo=packed record
  name:string;
  lang:string;
  pagecount:word;
end;
①我先读信息,即书名,语言,页数
var
  info:tinfo;
  id:word;
  abook,temp:file;
  bytesread,byteswritten:integer;
  buffer:array [1..1000] of byte;
  flag:byte;
blockread(abook,info,sizeof(info),bytesread);
②然后度页号
blockread(aboook,id,sizeof(id),bytesread);
③再读一块,读一标志;读一块,读一标志;读一块,读一标志;……直至标志为255
repeat
  blockread(abook,buffer,sizeof(buffer),bytesread);
  blockwrite(temp,buffer,bytesread,byteswritten);
  blockread(abook,flag,sizeof(flag),bytesread);
until flag=255;
④重复②③读下一个图片
读第一个图片很正常,读第二个图片时,我调试发现读出来的id值为24576,我不知道什么原因,哪位高手来指点指点,如需源码告诉我email,我发给你