我不熟悉delphi,目前有个需求要将delphi压缩后的数据用c++解压已知: delphi 用的zlib进行压缩和解压缩,可能的代码如下:uses ZLib;
const
  lclNone:Integer=0;
  lclFastest:Integer=1;
  lclDefault:Integer=2;
  lclMax:Integer=3;procedure DeCompress;  //解压缩过程
var
  S:TMemoryStream;
  TS:TMemoryStream;
  FS:TFileStream;
  ZStream:TDecompressionStream;
  CompressLevel:Integer;
  DataSize:Integer;
begin
  FS:=TFileStream.Create('c:\sample.cbl',fmOpenRead);
  S:=TMemoryStream.Create;
  FS.Position:=12;
  FS.Read(CompressLevel,4);
  FS.Read(DataSize,4);
  if c=lclNone then
     S.CopyFrom(FS,FS.Size-20)
  else
  begin
    TS:=TMemoryStream.Create;
    TS.CopyFrom(FS,FS.Size-20);
    TS.Position:=0;
    ZStream:=TDecompressionStream.Create(TS);
    S.CopyFrom(ZStream,DataSize);
    ZStream.Free;
    TS.Free
  end;
  FS.Free
end;  压缩的处理方法(假设变量s中存储的为需要压缩的数据):
  OutStream:=TMemoryStream.Create;
  FFileStream.Position:=0;
  try
    ZStream := TCompressionStream.Create(clMax, OutStream);
    try
      ZStream.CopyFrom(s, 0);
    finally
      ZStream.Free;
    end;
  finally
  end;
  OutStream.Position:=0;
  FFS.CopyFrom(OutStream,OutStream.Size);
  OutStream.Free
现在需要用c/c++程序将压缩后的数据进行解压缩,下载了最新的zlib 1.2.8 总是解压失败,返回buffer_error
c++写的调用 zlib的解压缩程序应该没什么问题, *dst 开的缓冲区也够大请高人指点下要如何解决